Memory distribution across numa nodes within Sql server
For a system with 1TB of RAM, and over 600 GB dedicated for SQL Server, page-life-expectancy of 300 to 600 seconds seems very low.  That indicates, on average, every page in the buffer pool is being replaced every 5 to 10 minutes.  That means the server is experiencing significant I/O just to service queries - as in 100GB per minute (or more) of data being transferred from disk into memory, all the time.  I'd recommend looking at getting PLE higher, by:


Look for queries that perform an excessive amount of I/O.  Check if those queries might be optimized to avoid excessive reads by either adding appropriate indexes or breaking large queries up into smaller chunks with intermediate #temp tables.
Add physical memory.  On this note, why is max server memory set to 656GB when the machine has 1TB of memory? You're leaving 250GB on the table, that SQL Server would probably dearly love to use.  Make sure this server is dedicated to only run SQL Server, and up the max_server_memory to at least 900GB, perhaps more.  I'd set min server memory to something like 768GB to ensure Windows can "claw-back" some memory from SQL Server if it really needs to.  


In extreme cases, you may want to configure thread affinity per the choices listed in this MSDN blog article.  Trace Flag 2479 can be used to enable "Connection Bound" thread placement, which place threads on one node.  SQL Server treats threads as if the connection node is the only node on the system, forcing threads for any given query to be processed by the NUMA node where the client connection started.  Per that page, parallelism is allowed as long as free threads on the node are >= (degree-of-parallelism * branches-in-query).