Capturing Semantic Similarity for Entity Linking with Convolutional Neural Networks [Paper] [Poster] [Source code]

A key challenge in entity linking is making effective use of contextual information to disambiguate mentions that might refer to different entities in different contexts. We present a model that uses convolutional neural networks to capture semantic correspondence between a mention’s context and a proposed target entity. These convolutional networks operate at multiple granularities to exploit various kinds of topic information, and their rich parameterization gives them the capacity to learn which n-grams characterize different topics. We combine these networks with a sparse linear model to achieve state-of-the-art performance on multiple entity linking datasets, outperforming the prior systems of Durrett and Klein (2014) and Nguyen et al. (2014).

Accepted to NAACL 2016.


DJ: Distributed JIT [Documentation] [Source code] [Preprint paper]

DJ automatically rewrites Java programs that are written for a single host to be able to operate in a distributed environment.   The system works by rewriting Java bytecode and providing a runtime environment which supports features such as remote memory access, distributed locks, etc.  Finally, the programs distributed state is controlled by a “JIT” which is separate from the core DJ system, as such, it can be switched by a user to change the behavior of the distributed program.

Slides from September 2015 technical presentation


Gang scheduling for predictable performance [Paper] [Poster]

Targeted issues of scheduling High Performance Computing (HPC) applications in Cloud Computing environments.  Developed a Gang Scheduler for the XEN hypervisor.  This ensures that only one virtual machine is running for any set of competing resources.

Post project:  Developed an extremely simplified Gang scheduler for the Linux Kernel as a point for comparison with XEN.  (source)