BSC Training Course: Programming Distributed Computing Platforms with COMPSs

Data: 04/Feb/2025 Time: 09:30 - 05/Feb/2025 Time: 16:45

Place:

[HYBRID] E101 Room,  C6 Building - Campus Nord, UPC and online via Zoom

Target group: Level: (All courses are designed for specialists with at least 1st cycle degree or similar background experience) INTERMEDIATE: for trainees with some theoretical and practical knowledge; those who finished the beginners course. ADVANCED: for trainees able to work independently and requiring guidance for solving complex problems.

Cost: There is no registration fee.

Primary tabs

Objectives

COMPSs is a programming model which is able to exploit the inherent concurrency of sequential applications and execute them in a transparent manner to the application developer in distributed computing platform. This is achieved by annotating part of the codes as tasks, and building at execution a task-dependence graph based on the actual data used consumed/produced by the tasks. The COMPSs runtime is able to schedule the tasks in the computing nodes and take into account facts like data locality and the different nature of the computing nodes in case of heterogeneous platforms. Additionally, recently COMPSs has been enhanced with the possibility of coordinating Web Services as part of the applications. COMPSs supports Python, Java, and C/C++ as programming languages.

Requirements

  • Operating system basics: 
The tutorial hands-on will be performed on linux-based systems and it is required that the attendees have some background at user-level of Linux. If you are not familiar with Linux and Bash, you must complete at least one of the following tutorials before the first day of the tutorial:
* Ubuntu tutorials: The command line for beginners - https://ubuntu.com/tutorials/command-line-for-beginners
* Codecademy: Learn the command line - https://www.codecademy.com/learn/learn-the-command-line
* Ryanstutorials: Linux tutorial - https://ryanstutorials.net/linuxtutorial/
* Geek's lesson: Top 7 bash commands for Unix/Linux and Mac users - https://www.youtube.com/watch?v=96UCrFVyrxg
 
For Windows users, you can follow these tutorials by running Linux on a Virtual Machine (https://ubuntu.com/tutorials/how-to-run-ubuntu-desktop-on-a-virtual-machine-using-virtualbox#1-overview) or using the Windows Subsystem for Linux (https://learn.microsoft.com/en-us/windows/wsl/setup/environment).
 
  • Programming language basics: 
The hands-on will be based on examples in Python. If you are not familiar with Python, you can learn some basics here -  https://docs.python.org/3/tutorial/index.html
 
  • Requirements for provenance hands-on: 
If you do not have one, create your Researcher ID at http://orcid.org/
 
You also need to create a WorkflowHub user account in advance:
* Create your WorkflowHub account:
    * Open https://workflowhub.eu/
    * Click “Register”
        * “Log in using GitHub” or
        * Register with your e-mail
            * Mandatory: First name, Last name, e-mail. Recommended: ORCID
            * Confirm registration with received e-mail
* Join “COMPSs Tutorials” team (“eFlows4HPC” Space):
    * Join a Team”
        * Search for ”COMPSs Tutorials”
        * Organization:
            * Search for your institution not only by acronym, also with full words
            * Can try also: Browse -> Organizations -> Country (filter)
        * If not found: Create -> Organization

Learning Outcomes

Learning Outcomes:  In the course, the COMPSs syntax, programming methodology and an overview of the runtime internals will be given. The attendees will get a first lesson about programming with COMPSs that will enable them to start programming with this framework.

A hands-on with simple introductory exercises will be also performed. The students who finish this course will be able to develop simple COMPSs applications and to run them both in a local resource and in a distributed platform (initially in a private cloud).

The exercises will be mainly delivered in Python, with one lesson delivered in Java. In case of Python, Jupyter notebooks will be used in some of the exercises.

Academic Staff

Course Convener:

Rosa M Badia Workflows and Distributed Computing Group Manager, Computer Sciences - Workflows and Distributed Computing Department

Lecturers:

- Rosa M Badia. Workflows and Distributed Computing Group Manager, Computer Sciences - Workflows and Distributed Computing Department
- Javier Conejero, Senior Researcher, Computer Sciences - Workflows and Distributed Computing Department, BSC
- Jorge Ejarque, Researcher, Computer Sciences - Workflows and Distributed Computing Department, BSC
- Daniele Lezzi, Senior Researcher, Computer Sciences - Workflows and Distributed Computing Department, BSC
- Raul Sirvent, Senior Researcher, Computer Sciences - Workflows and Distributed Computing Department, BSC
- Fernando Vázquez, Research Engineer, Computer Sciences - Workflows and Distributed Computing Department, BSC
- Cristian Tatu, Research Engineer, Computer Sciences - Workflows and Distributed Computing Department, BSC

Materials

INTELLECTUAL PROPERTY RIGHTS NOTICE:

• The User may only download, make and retain a copy of the materials for his/her use for non‐commercial and research purposes.

• The User may not commercially use the material, unless has been granted prior written consent by the Licensor to do so; and cannot remove, obscure or modify copyright notices, text acknowledging or other means of identification or disclaimers as they appear.

• For further details, please contact BSC‐CNS patc@bsc.es

Further information

BSC Training Courses do not charge fees.

CONTACT US for further details about MSc, PhD, Post Doc studies, exchanges and collaboration in education and training with BSC.

For further details about Postgraduate Studies in UPC - Barcelona School of Informatics (FiB), visit the website.

Sponsor: BSC