Jude NelsonGraduate Student
Department of Computer Science Advisor: Dr. Larry Peterson Snail Mail: 35 Olden Street Princeton, NJ 08540-5233 Office: CS 316 Email: jcnelson@cs.princeton.edu My CV
|
About MeI'm a fourth-year graduate student at Princeton University. My research interests include wide-area distributed computing systems, such as content distribution networks, distributed storage systems, wide-area network services, and cloud computing platforms. I'm originally from Oro Valley, Arizona.SyndicateRight now, I'm developing a wide-area service called Syndicate that lets you combine disparate cloud storage services, CDNs, and caching proxies into a cohesive storage medium best suited for read-mostly workloads. Even in the presence of multiple writers and weakly-consistent network caches, Syndicate provides well-defined filesystem-like consistency semantics, whereby create and delete operations are sequentially consistent, but readers and writers may set per-file freshness time-outs, choosing the sweet spot between strong consistency and high availability. All the while, it provides the read and write bandwidth of network-local storage by leveraging underlying network caches for reads, and asynchronously propagating data on writes.Syndicate will be the storage service of the upcoming OpenCloud project. WISHI'm also working on a project called WISH, the Wide-area Interactive SHell. It extends familiar UNIX shell scripting semantics to manage wide-area networks by augmenting an existing shell (like GNU bash) with an environment and command set to write and run parallel and distributed jobs. It provides commands for spawning, synchronizing, signalling, and joining with any process on any host in the network, as well as redirecting any process's input, output, and error to local files. It provides an environment for processes to get, set, and atomically test-and-set globally-visible shell variables, query the health of remote hosts, and expose local files for remote processes to read. All WISH-spawned processes print their output and error to the user's TTY and/or local files as if they were running asynchronously on localhost.
|