Computer Science Theses and Dissertations
Permanent URI for this collectionhttp://hdl.handle.net/1903/2756
Browse
2 results
Search Results
Item Hybrid-PGAS Memory Hierarchy for Next Generation HPC Systems(2024) Johnson, Richard Bradford; Hollingsworth, Jeffrey K; Computer Science; Digital Repository at the University of Maryland; University of Maryland (College Park, Md.)Demands on computational performance, power efficiency, data transfer, resource capacity, and resilience for next generation high performance computing (HPC) systems present a new host of challenges. There is a growing disparity between computational performance vs. network and storage device throughput and among the energy costs of computational, memory, and communication operations. Chapel is a powerful, high-level, parallel, PGAS language designed to streamline development by addressing code complexities and uses a shared memory model for handling large, distributed memory systems. I extended the capabilities of Chapel by providing support of persistent memory with intrinsic and programmatic features for HPC systems. In my approach I explored the efficacy of persistent memory in a hybrid-PGAS environment through latency hiding analysis via cache monitoring, identification and mitigation of performance bottlenecks via data-centric analysis, and hardware profiling to assess performance cost vs. benefits and energy footprint. To manage persistency and ensure resiliency I developed a transaction system with ACID properties that supports hybrid-PGAS virtual addressing and distributed checkpoint and recovery system.Item investigating the effects of HPC novice programmer variations on code performance(2007-12-07) Alameh, Rola; Basili, Victor R; Computer Science; Digital Repository at the University of Maryland; University of Maryland (College Park, Md.)In this thesis, we quantitatively study the effect of High Performance Computing (HPC) novice programmer variations in effort on the performance of the code produced. We look at effort variations from three different perspectives: total effort spent, daily distribution of effort, and the distribution of effort over coding and debugging activities. The relationships are studied in the context of classroom studies. A qualitative study of both effort and performance of students was necessary in order to distinguish regular patterns and define metrics suitable for the student environment and goals. Our results suggest that total effort does not correlate with performance, and that effort spent coding does not count more than effort spent debugging towards performance. In addition, we were successful in identifying a daily distribution pattern of effort which correlates with performance, suggesting that subjects who distribute their workload uniformly across days, pace themselves, and minimize interruptions achieve better performance.