Computer architecture is plagued by the von Neumann bottleneck. This work introduces and evaluates the traveling thread execution model in which threads mi- grate to the memory resources close to the data they require rather than perform remote memory accesses. This helps address the von Neumann problem by exposing additional concurrency within programs to tolerate long memory latencies, reduces two-way request/response network transactions typical of caching architectures to one way thread migration transactions, and reduces or eliminates cache coherency traffic.