support multiple nodes and cache sockets to reuse them when possible