Patent Document ID: 9081501
Application ID: 13004007
Patent Flag: 1

Claim One:
1. A massively parallel computing structure comprising: a plurality of processing nodes interconnected by multiple independent networks, each processing node including a plurality of processing elements for performing computation or communication activity as required when performing parallel algorithm operations, a first of said multiple independent networks includes an n-dimensional torus network, n is an integer greater than 3, including communication links interconnecting said processing nodes for providing high-speed, low latency point-to-point and multicast packet communications among said processing nodes or independent partitioned subsets thereof; and, said n-dimensional torus network for enabling point-to-point, all-to-all, collective (broadcast, reduce) and global barrier and notification functions among said processing nodes or independent partitioned subsets thereof, wherein combinations of said multiple independent networks interconnecting said processing nodes are collaboratively or independently utilized according to bandwidth and latency requirements of an algorithm for optimizing algorithm processing performance, wherein each said processing element is multi-way hardware threaded supporting transactional memory execution and thread level speculation, wherein said plurality of processing elements are configured to run speculative threads in parallel, wherein each processing element is further configured to: communicate with a communications pathway, the pathway comprising a first level cache and a second level cache; switch between at least two modes of using the first and second level caches, both modes allowing the first level cache and/or a prefetch unit to be operated in a speculation blind manner, wherein the at least two modes comprise: a first mode where, responsive to a write from a speculative thread, at least one line corresponding to results is evicted from the first level cache and/or said prefetch unit and recorded in the second level cache; and a second mode where, responsive to a write from a speculative thread, the first level cache stores results, and wherein responsive to selection of the first mode, said processing element is configured to: determine whether a speculative thread seeks to write; upon a positive determination, write from the speculative thread through the first level cache to the second level cache; evict a line from the first level cache and/or a prefetch unit corresponding to the writing; and resolve speculation downstream from the first level cache, wherein, subsequent to evicting a line, said processing element is further configured to: determine if a speculative thread seeks to access an address corresponding to the line in the first level cache, and if so, retrieve an appropriate version of data from the second level cache.