Timothy Merrifield

Learn More
In order to facilitate the introduction of transit tracking and arrival time prediction in smaller transit agencies, we investigate an automatic, smartphone-based system which we call EasyTracker. To use EasyTracker, a transit agency must obtain smartphones, install an app, and place a phone in each transit vehicle. Our goal is to require no other input. (More)
We present Conversion, a multi-version concurrency control system for main memory segments. Like the familiar <i>Subversion</i> version control system for files, Conversion provides isolation between processes that each operate on their own <i>working copy</i>. A process retrieves and merges any changes committed to the <i>trunk</i> by calling update(), and(More)
Transactional Lock Elision (TLE) and optimistic software execution can both improve scalability of lock-based programs. The former uses hardware transactional memory (HTM) without requiring code changes; the latter involves modest code changes but does not require special hardware support. Numerous factors affect the choice of technique, including: critical(More)
Managing virtual memory is an expensive operation, and becomes even more expensive on virtualized servers. Processing TLB misses on a virtualized x86 server requires a twodimensional page walk that can have 6x more page table lookups, hence 6x more memory references, than a native page table walk. Thus much of the recent research on the subject starts from(More)
EasyTracker is an automated system that assists small public or private transit agencies in deploying bus tracking and arrival time prediction. This demo will showcase how data from GPS sensors embedded in smartphones can be automatically processed in order to accurately estimate routes, bus stop locations, schedules, and make annotated maps with real-time(More)
We present Consequence, a deterministic multi-threading library. Consequence achieves deterministic execution via store buffering and strict ordering of synchronization operations. To ensure high performance under a wide variety of conditions, the ordering of synch operations is based on a deterministic clock [25], and store buffering is implemented using(More)
Experimental results are presented for several benchmark programs, identifying quantum size imbalance as a major source of inefficiency in Dthreads. A two-pronged approach is proposed to address this problem. First, Dthreads is ported to a versioned memory subsystem, so that the fence may be removed. Second, we find that Dthreads’ roundrobin token order is(More)
EasyTracker is an automated system that assists small public or private transit agencies in deploying bus tracking and arrival time prediction. This demo will showcase how data from GPS sensors embedded in smartphones can be automatically processed in order to accurately estimate routes, bus stop locations, schedules, and make annotated maps with real-time(More)
  • 1