Deterministic parallelism promises many benifits for parallel programming. Exist deterministic runtimes, however, either require modifying programs to use a restricted set of synchronization primitives, or limit calability by relying on a centralized, deterministic thread scheduler. We addressed these challenges with single producer multi-consumer (SPMC) virtual memory as a possible foundation for scalable deterministic parallelism. The SPMC foundation avoids the introduction of read/write and write/write data races, and permits peer-to-peer """"dialog"""" short-circuiting the process/thread hierarchy. In this paper, we explore high level runtimeDetSMatop the SPMC foundation to support deterministic shared memory parallel programming. We introduce a generalized shared memory unit or SMU abstraction to represent memory deterministically shared among threads, and a specific DetArray abstraction to allow concurrent threads updating disjoint continuous elements in an array, with certain programmability and efficiency tradeoffs. Preliminary results suggest that DetSM atop the SPMC maybe realistic and useful, achieving better run-time than Dthreads for dedup, and better performance than the original Determinator for quick sort and merge sort.