Interactive HPC Best Practices

Resource usage

DeiC Interactive HPC allocates resources to users as they are available with no priority queues. Here some suggestions in order to minimize the overload of the system and ensure the best user experience.

Available products/resources can be found in the Products section.

General best practices

In order to optimize the use of resources it is important first to optimize the research workflow in terms of code efficiency as well as correct choice of the application to use. Description of the application features (in terms of operating system, editors, programming languages, utilities etc) can be found in each app description, available in the Apps Index.

In addition, before to start the job, best practices include:

  1. Use of necessary resources only. It is recommendable to try to estimate as best as possible the resources needed for the workflow before to start the job by evaluating, e.g.:

    • how long a process will run

    • how much memory is needed for the data models

    • if the workflow/process benefit from multiple cores execution, namely from the use of a multicore application.

    In general it is preferable to start small machine when choosing resources the first time. Choosing a small amount of resources will help to gain the experience needed to choose correctly in the future. In addition jobs which require a small amount of resources will start sooner.

    If still in doubt, it is always a good idea to consult colleagues, supervisors, or your local DeiC Front Office to discuss the number of resources needed for your specific task.

    Note

    The processing time can be increased at any time during the job, from the job submission page.

  2. Close all applications immediately after you finish your work.

  3. Run batch or long running processes after busy working hours.

Best practices for teaching

As a general recommendation, in case of large datasets or a large models for a specific teaching scenario, the teacher should decide to choose to group students (a group of students submits a single job) in order to minimize the workload on the system.

In addition, teacher duties include:

  • To instruct the students to follow the recommendations 1), 2), 3) described above.

  • To archive a project when it is no longer useful.

  • To use teaching materials and software efficiently in terms of resources, e.g. parallel or multi-threaded applications, optimized codes. In general the teacher should minimize the number of data sets, number of parameters, model size, data types, etc. as much as possible without affecting the objective of the teaching.

  • To be able to determine the needed resources to allocate for a student as described in the section above, point 1).