This project has been funded by the following sources: Intel Labs Academic Research Office for the Parallel Algorithms for Non-Numeric Computing Program, National Science Foundation, and IBM Research.