Senior Software Engineer

Barry Wilfred

Seattle area

I work on distributed systems and systems software.

About

These are the roles I have held.

  • Senior Software Engineer, Microsoft

    Feb 2019 to present

  • Software Engineer, Fidessa Corporation

    Mar 2017 to Feb 2019

  • IT Consultant, Oracle Corporation

    Oct 2012 to Jul 2015

Projects

Distributed Peer to Peer File System for Android

  • Mar 2016
  • Java
  • Android SDK
  • Peer to peer file system where group members share files; join by requesting a group link from a member.
  • Each device runs a server (permission manager tracking shared files and access) and a client that requests from other devices' servers.
  • File-level locking for consistency during simultaneous access, and on-demand caching to balance access speed and network bandwidth.

MobileFS on GitHub

Operating system abstractions for Harvard's OS-161 kernel

  • Feb to Mar 2016
  • C
  • Synchronization primitives: lock, semaphore, condition variable, reader-writer lock.
  • File table and process abstraction, plus system calls (open, read, write, fork, execv, waitpid, and more).
  • Virtual memory subsystem handling TLB misses and page faults, swapping pages between memory and disk with LRU.

OS-161 on GitHub

Distributed Key-Value Store inspired by Amazon Dynamo

  • Mar 2016
  • Java
  • Android SDK
  • Keys partitioned across nodes by hash, like the Chord DHT.
  • Quorum replication with degree 3, read and write quorums of 2, tolerating 1 node failure without losing availability or linearizability.
  • Requests go to the key's coordinator node (the successor of the key), which handles reads and writes. Keys are versioned to detect stale copies.

Dynamo implementation on GitHub

Skills

  • C++
  • Tcl
  • Java
  • C
  • Android
  • Distributed systems
  • Oracle
  • Shell scripting

Contact