Scientific computing use cases describe how researchers access and use computing resources. Each category in this area (high-performance computing, high-throughput computing, cloud computing, and workflows) focuses on a type of computing resource used by researchers and the most common interactions with that resource type.
High Performance Computing:
These use cases describe the most common ways in which researchers use high-performance computing (HPC) resources. Each HPC resource is designed, constructed, and operated by a service provider (SP) organization, such as the Pittsburgh Supercomputing Center (PSC) or University of Michigan. An HPC resource may contribute services to one or more public research computing communities, such as XSEDE or Open Science Grid (OSG).
These use cases focus on the experiences researchers in a given community have with the HPC resources in that community. Using an HPC resource is most often part of a larger research process, so these use cases also mention the community’s website and documentation, registration and account management services, allocation services, and tools to help move code and data into and out of individual HPC resources.
|Use Case ID||Title||Use Case Description|
|HPC-01||Use a single HPC resource for a research project|
|HPC-02||Use two or more HPC resources for a research project|
|HPC-03||Use a workflow system to conduct a project on HPC resources|
|HPC-04||Submit jobs to a discounted job queue where they might be interrupted|
|HPC-05||Review performance metrics for one’s own use of a community resource|
|HPC-06||Submit and manage jobs on a community resource using a web-enabled device|
|HPC-07||Upload, download, and edit files on a community resource using a web-enabled device|
|HPC-08||Discover batch hardware, configuration, and status information|
High Throughput Computing:
These use cases describe the most common ways that researchers use high-throughput computing (HTC) resources. Also known as "capacity computing," high-throughput computing allows researchers to run a very large number of modeling, simulation, or data analysis tasks in a short amount of time. The resources required by each task can be small (similar to what one could run on a basic computer) or very large (requiring more active memory or CPU cycles than "normal" computers provide). What makes HTC unique is the fact that many runs of the same application are required to complete a research project. HTC resources allow researchers to complete projects faster than they could if they were limited to the computers available in their own offices, labs, or research institutions.
Each HTC resource is designed, constructed, and operated by a service provider (SP) organization, such as the Pittsburgh Supercomputing Center (PSC) or University of Michigan. An HTC resource may contribute services to one or more public research computing communities, such as XSEDE or Open Science Grid (OSG). These use cases focus on the experiences researchers in a given community have with the HTC resources in that community. Using an HTC resource is most often part of a larger research process, so these use cases also mention the community’s website and documentation, registration and account management services, allocation services, and tools to help move applications and data into and out of individual HPC resources.
These use cases describe the ways in which researchers use Infrastructure-as-a-Service (IaaS or "cloud") computing resources. They include: how IaaS services are used by end users, how IaaS services are shared within a research community, and how application and science gateway developers can automate use of IaaS services via APIs.
|Use Case ID||Title||Use Case Description|
|IAAS-01||Request to use an IaaS host for research|
|IAAS-02||Self-service acquire and use a virtual computer system|
|IAAS-03||Self-service acquire and use a hosted storage volume|
|IAAS-04||Request and use a virtual cluster|
|IAAS-05||Publish a virtual computer system or storage volume|
|IAAS-06||Discover a relevant computer system or storage volume|
|IAAS-07||Create an instance of a published computer system or storage volume|
|IAAS-08||Dynamically acquire and manage hosted computer systems and/or storage volumes|
|IAAS-09||Reliably acquire and manage hosted computer systems and/or storage volumes|
|IAAS-10||Add a science gateway operator to an API-enabled IaaS allocation|
|IAAS-11||Protect a virtual cluster by creating a bastion host|
These use cases describe how researchers use workflow tools to automate complex research computing processes. There are at least two motivations for automation: first, to improve research productivity by freeing researchers from time-consuming tasks that can be automated; second, to make the research process reproducible, capturing and recording every step of the process so other researchers can inspect and validate the process behind the researcher’s conclusions.
Research computing processes are extremely diverse. Consequently, there are a variety of workflow tools in use. The public research computing community enables workflow tools by providing APIs for basic computing services, such as: job submission and management, data movement, and resource configuration and status information. Using these APIs, a workflow tool can automate the execution of a research computing process. Another important community function is coordinating the execution environments across resources: making them as similar as possible so individual research jobs can be run on a wider variety of computing resources.