Before getting started...
So you're all set to do some serious computing and you need servers and storage to host your applications and data. You know what software you're going to use and what you want to do with it, so you're ready to go. Right?
Before you request access to any systems or ask for support, there are some things you need to consider.
Things to think about...
Who can get access to research computing systems?
Q. Who is allowed to get access to central computational servers or clusters?
All PSU faculty, researchers assistants, graduate students, undergraduates, staff, and administrators with legitimate academic research computing needs and an Odin ID. Non-PSU affiliated faculty and students may also get access to PSU systems, with sponsorship and affiliate Odin account.
Some systems may have restrictions on who is allowed access and for how long.
Q. Who is allowed to request network data storage? Who is allowed to use this?
Research network shares (data storage) must be requested by full-time faculty, staff, or administration. There are long-term ramifications of data ownership. They may request access for anyone with an Odin ID.
Do your needs require research computing systems?
You are responsible for understanding the system requirements of the applications you are using, as well as software requirements and the nature of your data. While RC staff is happy to assist you when possible, staffing is limited.
Before making a request for system access or support, please make sure you understand what you're asking for.
Q. Why do you need access to a computational server or cluster?
Here are some very good answers:
My compute job requires far more memory or cores than available on my laptop/desktop in my lab, office, or home. More Cores! More Memory!
My runs are tying up my laptop/desktop for hours/days/weeks, tying it up so I can't do other work.
I can test on my laptop, but I need a bigger system ( lots of memory/cores/nodes) to work with larger datasets/arrays.
I need to run many iterations of the same or similar processes on multiple systems.
My software can use MPI or other parallel messaging system to scale across many servers.
I need to use a different architecture than I have available to me ( e.g. Intel KNL Phi, GP-GPU's, very large memory systems)
These answers will [probably] work, too:
The software I need uses a different operating system than is installed on my laptop/desktop.
I need to be able to compute against the data stored in our lab's research storage share. Several of us need to work using the same data.
I want experience working and running jobs on remote systems.
I need access to software installed on the system.
Here are some [potentially] bad answers:
I need my software to run faster. (A server isn't necessarily faster than your laptop.)
I am using sensitive data. I'd rather keep it on a server than on my laptop.
I need to use a cluster (but I don't really know what a cluster is.)
I don't know how to install this software and I want someone else to do it.
I don't know.
What's a server?
Q. Did you read the documentation? What are the system requirements?
Most importantly read the documentation for the application you are planning on using. Pay particular attention to "System Requirements" or similar sections. Read the software installation requirements and note addition software that is required.
For clues on how this application will scale, search for keywords like message passing interface (MPI), mpich, openMP, "memory or CPU intensive," parallel processing, high-performance computing, etc. They may give you an idea of additional requirements, even if you don't know what they mean.
Q. Did you test your application?
If possible, test your application locally first. If it's consuming most of your system resources (i.e. storage, memory, CPU), then running on a server may offer a significant improvement or at least free up your laptop/desktop to do other things.
Q. Which operating system is required?
Make sure you are requesting access to a system that will support your application. Do you need support libraries installed? Will your application run in an MPI environment?
For example: if your application requires Windows 2008 R2 or newer, there is no reason to request access to the HPC clusters, which use Linux.
Q. Can you work on the Linux command line?
This isn't necessarily a requirement, but if your application requires using a graphic interface, be prepared to use an X-windowing system in order to display the application's graphic interface. (For example, R can be run from the command line. R Studio is a graphic interface for R and requires X Windows when run on Linux.). Working on the CLI can be a shock and big learning curve to the uninitiated.