Software Installation for Researchers at USC


wizardinstalls

I recently attended the ACI-REF Virtual Residency 2016 workshop where we discussed, among other things, how and when different computing centers should install software for their researchers. The conversation was surprisingly lively because installing software is a topic that touches on many regimes of facilitation. Since every institution has its own perspective, I thought it would be interesting to share the stages of software installation at USC.
Stage 1. Permission denied

 

Many of our users are new to computing on a system that doesn’t belong to them and are used to an environment where permissions are not an issue. Often, users find a set of install instructions online that tells them to do a system-wide installation which results in a “permission denied” error.

When this happens they email us and we tell them to…

 

Stage 2. Attempt local installation

 

We think it’s important for our researchers to install their own software. They can be more productive if they aren’t waiting on us and they can also customize for their own needs. At this stage, we’ll tell people that they can do a user-level installation in one of the project spaces where they have write permissions.

If users get stuck here, they’ll have to…

 

Stage 3. Request facilitation

 

Many software packages depend on other software to work correctly. Sometimes, this creates a complex dependency chain that is hard to manage. At this stage, we’ll try out the installation and provide the researcher some instructions on how to point the installer to software it needs. We don’t want our users to think the cluster is a mysterious black box, so we try our best to make sure they fully understand this process.

Sometimes we’ll run into difficulties and have to…

 

Stage 4. Ask the sysadmins

 

Getting the sysadmins involved is a last resort. It’s best if facilitators can install software themselves because sysadmins can become a bottleneck to this process due to their heavy workloads. Sometimes, the sysadmins can give us some information that we can pass back to the user. But usually at this stage, the knowledge needed is very specific to this problem.

This stage can take as long as a few months before finally we will….

 

Stage 5. Install system-wide

 

At this point, so much time and effort has been put into this that we never want to reproduce the experience. The sysadmins will install to a location that everyone has access to.

That way, the next time someone asks about this package we can tell them to…

 

Stage 0. Check for software

 

Sometimes, we get requests to install software that is already available. Luckily, all we have to do in these cases is tell the users where to find it.

Cesar Sul
Center for High-Performance Computing
University of Southern California