Low-level PGAS computing on many-core processors with TSHMEM