User Tools

Site Tools


internal:projects:aw:start

Non-blocking Writes

Participants

Project Goals

  (Truly) Non-blocking Writes!
  

ToDo List

TODO's from 12/13/12 meeting

  1. Setup the key-value store benchmark (YCSB) to test NBW (file system path).
  2. Fix the CPU scheduler bug that could potentially influence the performance degradation shown by some of the benchmarks.
  3. Setup the consolidated benchmark using qemu on a Linux host. Two possible options here:
    • Use NBW at the host level and virtualize guest machines without KVM to create memory pressure at the hyper-visor level.
    • Use vanilla host and virtualize guest machines using KVM and let NBW work at the guest level.
    • We plan to set the base comparison level by partitioning statically the physical memory among all the VMs to let fit in memory each working set without problems.
      1. Incrementally we increase the amount of VMs (i.e workloads) so they start competing for memory. We measure the improvements in execution times of NBW compared to the vanilla system.
      2. The result of the benchmark is a vector of execution times where each dimension is the execution time of each workload in the consolidated system. There should be one vector for vanilla and NBW respectively.
  4. Depending on time and the results of the key-value benchmark as a file system benchmark, explore other file systems benchmarks as databases or Filebench (possible using MongoDB as back-end)
  5. With very low priority, we could rerun the SPEC SFS benchmark to see if there is any improvement by the inclusion of the read-from-patches implementation.

Future ToDo's

  • Get times of changing from user to kernel mode, and the other way around.
  • Test the system changing queue depths with NCQ.
  • Explore creation of persistent patches.
  • Implement NFS support.

Meetings

  • 01/08/15: Non-blocking write curves for paper
  • 12/16/14: Handling of journaling modes; Responding to shepherd; Simulation of cache misses for partial page writes (Hector)
  • 12/09/14: FAST'15 Review Comments (Audio lost)
  • 11/25/14: Intro feedback and trace-replayed brainstorming
  • 11/18/14: Writing Feedback/Task; Trace-replay updates
  • 11/12/14: Writing / development schedule
  • 11/04/14: Brainstorming: Concrete paper plan “fast durable file writes to persistent memory”
  • 10/28/14: Brainstorming: fast durable file writes to persistent memory
  • 10/21/14: Tracing and Persistent Memory direction
  • 10/14/14: Next evaluation steps; tracing work; Project ideas (persistent memory)
  • 10/07/14: Brainstorming next paper and projects
  • 09/16/14: Module data; sqlite updates; other eval plans
  • 09/12/14: New data / module / Eval/Writing plans
  • 09/09/14: Eval/Writing plans
  • 09/02/14: Kernel module discussion, Paper writing plans and new data with mobigen trace replay
  • 08/26/14: Mobigen data (Facebook/Twitter) and plans for Mobigen replay
  • 08/19/14: More updates on module, SQLite, Mobibench, Filebench
  • 08/12/14: Updates on module, SQLite, Mobibench, Filebench
  • 08/05/14: 4 Directions for motivation (module-based data), persistent-memory, trace analysis, new benchmarks
  • 07/22/14: Byte addressable memory cache (new motivation); kernel module plans
  • 07/15/14: Kernel module plans and new data collection
  • 07/08/14: OSDI'14 rebuttal
  • 07/01/14: Analyzing blktrace data; new I/O scheduling improvements; NCQ setup by Hector
  • 06/24/14: Next steps: CPU nicing for kernel-threads issuing NBW + updating filebench graphs
  • 06/10/14: Next steps: Limiting I/O queueing for non-blocking fetches and moving I/Os across priority queues when status changes to blocking
  • 06/06/14: I/O Scheduler implementation update; next steps
  • 05/27/14: I/O Scheduler Optimization — Initial thoughts on implementation
  • 04/24/14: Paper story-line I
  • 04/22/14: Evaluation story-line and discussion of experiments
  • 04/17/14: Evaluation outline/goals
  • 04/15/14: New SpecSFS data is promising
  • 03/20/14: OSDI paper discussion
  • 03/04/14: New data with lazy; HotStorage paper?
  • 02/13/14: Potential workloads for file system
  • 02/06/14: Sawtooth performance explained and next steps for experiments
  • 01/28/14: SMP works! Kernel Preemption works! Explaining sawtooth performance;
  • 01/23/14: Understanding performance data
  • 01/21/14: Understanding performance data
  • 01/14/14: First great set of Filebench data!, YCSB+LevelDB? ATC submission plans
  • 12/11/13: Implementation updates, review of paper outline
  • 12/04/13: Paper outline (First draft) and discuss of current bugs
  • 11/27/13: Bugs fixed, discussion about implementing pdflush, fsync, and lazy, paper outline and writing tasks
  • 11/20/13: Two bugs, 1 solution and storyline update
  • 11/13/13: Brief update
  • 11/06/13: Story-line draft / scheduled implementation / deadlock solved
  • 10/30/13: Deadlock!
  • 10/23/13: Updates
  • 10/16/13: FS-specific metadata is cached via page cache using device mapping!
  • 10/11/13: Two options to explore for FS metadata blocking (1) lazy page fetching and (2) work-queue based threaded page fetching
  • 10/09/13: Sync metadata access seems to block NBW; discussion of next steps
  • 09/25/13: Seems like non-blocking writes are blocking!
  • 09/23/13: Results examination for lazy, planning for filebench runs
  • 09/20/13: Results examination, development, and paper writing tasks
  • 09/18/13: Inspection of NFS client kernel-code
  • 09/16/13: Results for SPECSfs and Filebench, updates on NFS client
  • 09/13/13: Updates on filebench (fileserver) and SPECSfs
  • 09/11/13: New workload plan – jdbc,jdbm,gdbm(java), etc.
  • 09/06/13: New evaluation plan
  • 08/28/13: Next steps: SpecSFS anaysis, I/O scheduler, other FS benchmarks
  • 08/21/13: Updates on SPECSfs behavior and controlling runtime
  • 08/19/13: Updates/discussion on NFS client – does it block on write?
  • 08/14/13: Implementation update for CPU scheduler and some initial direction of NFS implementation; Results update (Aldo)
  • 08/09/13: NFS server - async config, many updates from Daniel on development - NetApp project
  • 07/31/13: Memory ordering discussion + updates from Aldo
  • 07/24/13: I/O prioritization v.s. Lazy file system implementation + discussion of next set of configurations to run
  • 07/17/13: Review of current status (Aldo, Daniel, Luis) and thoughts on syscall tracing
  • 07/10/13: Discussion with Luis about FAST paper and Filesystem oriented submission
  • 07/03/13: Discussion with Luis on implementation/documentation next steps
  • 04/29/13: FIO new data points to NCQ being effective – need to test with larger file size in FIO
  • 04/23/13: NCQ results indicate fake-ncq – Aldo will confirm with more expts; New results with Lazy (10K max patches) are promising
  • 04/18/13: Three directions next: reliability/reproducability of data, NCQ, and Jesus' scheduler completion and integration with Lazy
  • 04/11/13: Two primary strengths of NBW not capitalized in current implementation
  • 03/28/13: Strategy discussion
  • 03/26/13: New data – higher queue depths not proportional to fraction of NBW requests (request merging the answer?) (as single-stepping)
  • 03/21/13: Potential source of failure identified (as single-stepping)
  • 03/19/13: Failure issues with dacapo
  • 01/31/13: Initial set of results with new CPU scheduler; next steps fix cpu scheduler optimization for mmap faulting processes; correlating counters with performance; I/O scheduler optimization; memory corruption issue
  • 01/17/13: Updates and status of CPU scheduler implementation from Jesus
  • 01/15/13: Memory sensitivity and benchmarks for evaluation
  • 12/13/12: Evaluation plan revision (Meeting summary) (No audio)
  • 12/06/12: Updates from Daniel, reviewing remaining tasks for paper submission
  • 11/28/12: Fixed state-assignment bug in CPU scheduler; Dealing with NCQ queue lengths; experiments review
  • 11/21/12: Hunting NCQ hardware and getting NCQ data for NBW, plans for knowledge transfer to Daniel
  • 11/14/12: Updates on validating I/O priority inversion issue and VFS implementation, benchmarking and evaluation plans for paper submission
  • 10/31/12: I/O scheduler optimizations and handling device-level queues; svnserver benchmark has negligible WriteFaults
  • 10/24/12: Updates on VFS implementation
  • 10/17/12: Updates on benchmarks and Do we need an I/O priority scheduler for NBW processes?
  • 10/09/12: More updates on scheduler and benchmarks
  • 10/03/12: Scheduling issue performance degradation, benchmark updates
  • 09/26/12: Scheduling fixes and new results, anomaly with batik and pmd which have severe degradation
  • 09/13/12: Plan and action items when Luis is absent
  • 09/05/12: New data motivates scheduling as the next step, updates on NBW overhead breakdown
  • 08/23/12: Understanding new data and next steps with implementation and benchmarks
  • 08/16/12: Update on new CPU scheduler (almost done!) and reviewing evaluation plan
  • 08/07/12: Prioritizing next set of action items
  • 08/02/12: New evaluation plan
  • 07/26/12: Discussing remaining OSDI feedback
  • 07/24/12: New results with NBW scheduling optimizations + Discussing OSDI feedback
  • 07/17/12: NBW CPU scheduler with new state + plans for collecting results from Jesus
  • 07/10/12: Results review and new CPU yielding implementation (for Jesus)
  • 07/03/12: NSF proposal comments & CPU scheduling optimization
  • 06/26/12: Results with multi-threaded apps lackluster; yield optimization and SMP implementations; big picture of I/O and CPU parallelism in NBW
  • 06/21/12: Bug fixes, new results, Luis thesis chapter feedback
  • 06/12/12: Scheduled fetch design and async fetch results
  • 04/10/12: New directions
  • 04/03/12: Perils of prefetching and plugging!
  • 04/02/12: Paper structure, stories, and data analysis
  • 03/27/12: Disassembly doesn't seem to help with big-patch-queue! – Alternate evaluation plan
  • 03/20/12: Update from Jesus on new disassembly implementation (to replace single-stepping)
  • 03/06/12: More data and more analysis
  • 03/02/12: Alternate explanations for data
  • 02/28/12: Analyzing initial detailed data from benchmarks
  • 02/23/12: Understanding minor fault and patch creation latencies
  • 02/21/12: Explaining the data III
  • 02/07/12: Request and page pools and ideas for deferred memory allocation
  • 01/31/12: Trying out reboot/power-down and tracing blktrace problems
  • 01/24/12: Explaining the data II
  • 01/17/12: Explaining the data I
  • 01/10/12: Discussion of issues with implementation and initial data
  • 12/13/11: Updates and plans for new experiments (PCIe flash, memory sizing, SMP)
  • 12/06/11: Experiment updates; some FS performance analysis;
  • 11/29/11: Issues uncovered during merging of anon and fs
  • 11/22/11: NSF Proposal Discussion
  • 11/15/11: Brainstorming ideas for debugging filesystem component
  • 11/08/11: Page fault handling - Normal and NBW versions - details for the paper & Experiment updates
  • 11/01/11: Status updates
  • 10/18/11: Discussion of statistics for analyzing performance
  • 10/11/11: More performance testing of anonymous version
  • 10/04/11: Initial performance of anonymous – promising results
  • 09/20/11: Can we make FAST?
  • 09/13/11: Implementation progress
  • 09/06/11: update from Jesus, FS implementation, initial writing plans
  • 08/30/11: Implementing patch application in process context, workloads for non-blocking FS writes, Deferred/No async read,
  • 08/16/11: Updates
  • 08/02/11: War of the Titans II - Disassembly vs. page diff-merge (and some very good advice on research prototyping too!)
  • 07/26/11: using page flags and page-level locking
  • 07/19/11: setting up async reads and other updates
  • 07/12/11: handling async read completions, handling write syscalls
  • 06/07/11: 32 vs. 64 bit porting of memcheck.c – next steps: porting to 64 bit, random single-step checks, radix/range/redblack tree based patch implementation
  • 05/31/11: More generic w/ generic_fault_handler; thoughts on consistency and syscall implementation
  • 05/23/11: Updates on patch implementation
  • 05/17/11: Single stepping v.s. disassembly for write size
  • 05/10/11: Initial thoughts on handling syscalls
  • 05/03/11: Initial kernel design
  • 04/19/11: Addressing Hotstorage review comments
  • 03/11/11: Result review and Paper writing plans.
  • 03/09/11: (evening skype call) Review
  • 03/09/11: Deconstructing results, motivation discussion, and changes to graph data
  • 03/04/11: Hotstorage paper structure
internal/projects/aw/start.txt · Last modified: 2024/06/28 20:42 by 127.0.0.1