Texas Tech University

Request Software

Important: Before requesting that an item of software be installed, please check the list of available software packages that are already available and take steps to become familiar with the use of the module command to load a given item of software and its dependiencies for the cluster environment that you plan to use. Guides are also available on the HPCC web site on installing and maintianing your own copy of Python and organizing environments using Conda and Running R Jobs on HPCC Resources (including how to install R packages). In many cases, a combination of loading existing HPCC-installed software modules and one or another of the steps described in these guides, or local installation by you in your own account after setting up compilers or dependencies using these methods, will suffice to get your software set up the way that you need it. 

To request software installation after reading through the mateiral below, please click the "Agree" button at the bottom of the page to certify that you agree with the policies.

Software Installation Policies

Purpose

The policies and procedures for installing and maintaining software packages on the equipment managed by the High Performance Computing Center (HPCC) are given below. Various types of software packages will be described along with the procedure for users to request adding additional packages. The procedures for renewing or discontinuing existing software packages are also given. HPCC staff can install a wide variety of software for use on a particular partition or across the cluster, if the software is determined to be of general utility and interest. For user supported software, additional responsibilities and requirements are given in an Appendix at the end of the document.

Available Support

The HPCC provides support for both open-source and licensed software for use on cluster resources. In the case of licensed software, licenses must be obtained and provided by the account holder for individual use or use by a designated group. Texas Tech also provides campus-wide licensing for some items of site licensed software as described on the IT Division web site. The HPCC does not have a budget to purchase or obtain licenses beyond these provisions. Obtaining licenses for any software needed beyond the university-provided site licensed software is the responsible of the individual account holders or research groups. 

Software types

Software that is being used and/or developed by an individual user is the responsibility of that user. The HPCC will not support that software nor make it available to other users. Such software will reside within the user's individual directories. Permissions required to access this software by other users is the responsibility of the user installing the software.

For other software, a distinction will be made between software being developed at TTU versus software that is externally being developed. For internally supported software, a support individual will need to be identified. This individual will be given permissions to add, delete, and modify files and sub-directories within their package's directory in the designated application directory; It will be the responsibility of that individual to maintain and support the software. This case is dealt with in more detail in Appendix.

In the second case, either a member of the HPCC staff will deploy the software or at the discretion of the HPCC an individual user will be allowed to deploy the software. This will be agreed upon at the initial deployment.

Software of Interest

Software to be considered must meet several criteria. Applications that assist with common tasks or algorithms that are useful to variety of users are most appropriate and will receive the highest priority for installation. In general, the more applicable the application to common system-wide needs, the more likely it will be considered positively as a candidate for installation. Priority will also be given to applications that require root access for installation over ones that can be installed by suers themselves in their own areas. However, we will evaluate all requests.

Restrictions

There are several restrictions concerning the types of software for which HPCC will provide resources. These restrictions are given below.

Software that is used to encourage or proliferate discriminatory or harassing behavior or to in any way violate the state's or TTU's policies on acceptable use will be rejected.

Software that violates the security or integrity of HPCC resources and/or the general network will be rejected.

Software that requires interferes with or requires extensive modification to the existing HPCC software stack or hardware will most likely be rejected. Exceptions to this may be allowed if the impact of such changes can be mitigated and there is commensurate benefit to the general HPC community. The amount of effort to make and support these changes by HPCC staff will be used as a basis for allowing these exceptions.

Proof of Licensing

Any request to install software must include the licensing requirements. To install licensed software, proof of the software's legal status, licensing for use at TTU, and a valid license (if applicable) must be provided to the HPCC. Without this proof of licensing, the HPCC staff will not be able to accommodate the request.

Procedures

This section describes the procedures to be followed when dealing with user-contributed software. These procedures should normally be followed, but less formal procedures could be used in certain unique circumstances.

Getting a New Package Installed

To get approval for having a new package installed by HPCC staff, the following procedure is recommended. A similar procedure for getting a user-maintained software package approved is given in the Appendix. Users are responsible for making their requests in a timely manner, some software packages can require many days of effort to install, and at least 2 weeks notification is required for any software install. Depending on how many dependent packages need to be installed this time frame could be extended.

Submit a request to the HPCC describing the package and its usefulness to the user community. Include the name, vendor (or other source), licensing description, supported machine types, and an estimate of the amount of disk space required, include dependent packages in this size estimate.

Include a list of all dependent software applications and any additional licensing requirements.

If you are a student at TTU, please include your supervisor's contact information in your request for him/her to receive an email to approve your request.

If the request is approved and accepted, deliver a copy of the licensing documents to the HPCC.

Provide installation files and documentation to the HPCC.

If necessary, work with the HPCC to generate a valid license key.

When notified by HPCC staff that the package is installed, test the installation to make sure it works.

Notify the HPCC if the software needs to be updated or patched.

Please note, after HPCC receive your request, during the evaluation time, if the requested software will be likely affect the current environmental settings or can be conflict with the current installations, HPCC staff may contact you to reject your software request.

Renewing or Expiring a Package

For currently installed packages that are licensed for a specific term, inform the HPCC about your plans to renew the software license or not. If licensing details are not provided, then the software may be removed from the system. If a new valid license is not provided before the expiration of the current license, the software will be disabled, and may be removed from the system.

If the HPCC determines that the software license is not being followed, the HPCC may take whatever actions it deems necessary to restore compliance including removing the software if necessary.

Appendix: User-supported software

Responsibilities of the User

If user-supported software is accepted to be installed on HPCC resources at TTU, then the person making the request will be responsible for:

Installation of the software

Supporting the software that includes maintaining the software in working order, providing documentation and performing any additional administration required for the software to remain functional.

Act as a point of contact to the HPCC for issues dealing with the software

Provide proof of licensing to HPCC

Notify the HPCC if the software is going to be unavailable for an extended period of time.

Notify the HPCC if a new maintainer will take over these responsibilities.

Notify the HPCC if the package will no longer be maintained.

These software packages are not supported by the HPCC staff, so users who use this software do so at their own risk.

Procedures

This section describes the procedures to be followed when dealing with user supported software. These procedures closely follow the procedures for general user-contributed software with the main difference being that a user will be responsible for installing the software and providing documentation.

Getting a New Package Installed

To get approval for either installing or having installed a new package, the following procedure is recommended.

Submit a request to the HPCC, describing the package and its usefulness to the user community. Include the name, vendor (or other source), licensing description, supported machine types, and an estimate of the amount of disk space required, including a size estimate for dependent software packages.

List all dependent software packages required.

If the request is accepted, deliver a copy of the licensing documents to the HPCC.

Using the provided directory, install the software.

If modifications outside the provided directory are need, request assistance from the HPCC.

Test the installation to make sure it works.

Notify the HPCC that the software is installed and functional.

Usability

User maintained software is only useful to the general HPC user community at TTU if it is usable by others. This includes documenting the software features and functionality in addition to fixing bugs. However, because this software will normally be under development, it is understood that the software will not always be functional. Therefore a high degree of latitude will be provided to the maintainer of the software in this area. However, at some point the software needs to be used by others to continue being deployed on HPCC equipment outside of the user's local directory.

The level of documentation and support provided may vary widely. It should be clear to a user of the software what level of documentation and support is being provided. In general, the documentation should be enough that the usefulness and usability of the software is clear to a prospective user of HPC resources at TTU. Additionally, any modifications that a user has to make to use the software (like setting of environment variables) must be clearly documented. It is suggested that a README file be provided that contains this basic information. Remember: The better the documentation, the more likely the software will be widely adopted.

If you wish to provide documentation and you can provide the HPCC with the appropriate legal right to distribute it, the HPCC will make available copies to general users to check out and/or make electronic versions available.

Change of Status

Finally, when a package maintainer no longer wishes to or can maintain a software package, either a new person to maintain the software should be identified or the software status should be changed. The new person will have the same responsibilities as the original maintainer, and it is good practice for there to be some overlap in time when both are available.

At some point all package development may end. At that point, the package can be left on the system, removed from the system or replaced by a new package. Normally this will result in the software being removed from the system. However, if the software is still being used, then the HPCC will consider leaving it installed.

HPCC's Responsibilities

The HPCC also has responsibilities towards user-contributed software. These are listed below:

Provide information regarding system changes affecting the software

Provide notification of changes in policy regarding user-contributed software

Provide adequate disk space and authorization to the software

Protect the software from unauthorized modification

Notification of Changes

HPCC will notify package maintainers of any changes to the system that may affect the operation of the installed packages. This includes operating system updates, security fixes, file system support, backup policy, etc. How these affect an individual package is up to the maintainer to determine. Requests for modifications may be made to the HPCC staff if the user's software package is adversely affected by any such change. All reasonable attempts will be made to grant such requests.

System-level Administration

The rest of the HPCC's responsibility to the maintainers of user-contributed software is basic system administration. The user is responsible for backing up application software if software is installed outside of the HPCC home directory. The user is also responsible for the permission settings that allow other users access to the application.

The security of the overall system is the responsibility of the HPCC. If a package maintainer engages in activities that compromise system security, the HPCC staff will take whatever actions it deems necessary to correct this; This includes making sure that only authorized personnel can make changes to the installed packages. Alternatively, if the authorized personnel are abusing their privileges, then the HPCC will remove their access to the package and take whatever other actions that are required by state and university policies.

High Performance Computing Center