1 of 34

Access HTCondor and the Open Science Pool using a Jupyter Interface

Rachel Lombardi

OSG Research Facilitation Team

February 21, 2023

1

2 of 34

Introductions

2

3 of 34

Research Computing Facilitators are Here to Help!

Showmic Islam

Rachel Lombardi

Mats

Rynge

  • Email: support@osg-htc.org
  • Drop-in Office Hours: Tuesday 3-4:30pm CT & Thursday 10:30am-12pm CT

Christina Koch

3

4 of 34

Before We Start

We welcome questions! To ask questions, please raise your hand, post to the chat, or ask out loud.

Part of this workshop is hands-on! You are welcome to follow along (we will walk through the steps together) or to simply watch.

4

5 of 34

Before We Start

We welcome questions! To ask questions, please raise your hand, post to the chat, or ask out loud.

Part of this workshop is hands-on! You are welcome to follow along (we will walk through the steps together) or to simply watch.

5

The OSPool’s JupyterLab interface is a new feature – all feedback is welcome!

6 of 34

Agenda

Getting Started with the OSPool’s Jupyter Interface

Guest Accounts versus Full Accounts

Explore JupyterLab Interface

Hands-on: HTCondor Job Submission

Next Steps

6

7 of 34

Primary Learning Objective

To explore the OSPool’s Jupyter interface and use it to submit HTCondor jobs.

Learning Outcomes:

  • Introduce the OSPool’s Jupyter interface
  • Understand the differences between Guest Accounts and Full Accounts
  • Discuss workflows that are suited for this resource
  • How to use a Jupyter interface to submit HTCondor jobs

7

8 of 34

Getting Started with the �OSPool’s Jupyter Interface�

8

9 of 34

Open an internet browser and enter: https://notebook.ospool.osg-htc.org

9

10 of 34

Log into an OSPool Access Point Using Jupyter

Login using any of the available authentication options. Some choices:

  • Your academic, government, or non-profit institution are best
    • Needed for full account
  • ORCID
    • Takes ~3 min to create an ORCID ID, if needed
  • GitHub
  • And more!

10

11 of 34

Available JupyterLab Options

11

* Offerings subject to change

12 of 34

Available JupyterLab Options

* Offerings subject to change

12

Available

Interfaces

13 of 34

User Accounts

13

Changes depending on the service you used to authenticate with:

14 of 34

Offerings Depend on JupyterLab Env

14

Data Science Includes libraries for data analysis from the Julia, Python, and R communities. Includes the HTCondor command-line utilities and Python bindings.

Basic Includes basic command-line tools. Includes the HTCondor command-line utilities and Python bindings.

15 of 34

Offerings Depend on JupyterLab Env

15

Let’s Launch a

Basic Notebook

Basic Includes basic command-line tools. Includes the HTCondor command-line utilities and Python bindings.

16 of 34

Guest Accounts versus Full Accounts

16

17 of 34

Users with accounts on ap7.ospool.osg-htc.org can access their /home directory using a GUI Jupyter interface or a standard terminal interface

17

Only users with accounts on ap7.ospool.osg-htc.org (not login04/05) have full access accounts

18 of 34

Guest vs. Full Accounts

18

Full Access Accounts

  • Users are allowed to submit jobs to the OSPool
  • Data persists even if you log out OSG resources are not long-term storage solutions

Guest Accounts

  • Users cannot submit jobs to the OSPool
  • Data is cleared out on a routine basis

19 of 34

Use Cases

19

Full Access Accounts

Good fit for users

  • who want to submit jobs to execution points on the OSPool and who also want to run post-processing steps with an access point-like environment
    • This means you can run more intensive post- or pre-processing steps that cannot be run directly on login04 and login05 access points without impacting other users
  • Want a graphical user interface (GUI) to interact with
  • Use Jupyter resources

Guest Accounts

Good fit for users

  • Exploring HTCondor and practicing job submission
  • Understanding how to restructure an existing workflow to run on the OSPool

20 of 34

Behind the Scenes

20

Full Access Accounts

  • Access point and execution point are separate

Guest Accounts

  • Access point and execution point are run in a Jupyter environment

Access Point

Execution Point

Jupyter

condor_submit

Access Point

Execution Point

Jupyter

condor_submit

Execution Point

Execution Point

Execution Point

Execution Point

Execution Point

Open Science Pool

condor_status: prints one execution point slot

condor_status: prints all slots

in the OSPool

21 of 34

Behind the Scenes

21

Full Access Accounts

  • Access point and execution point are separate

Guest Accounts

  • Access point and execution point are run in a Jupyter environment

Access Point

Execution Point

Jupyter

condor_submit

Access Point

Execution Point

Jupyter

condor_submit

Execution Point

Execution Point

Execution Point

Execution Point

Execution Point

Open Science Pool

Access + Execution Resources�4 CPU cores

8 GB RAM

10 GB Disk

Access Point Resources

8 CPU cores�16 GB RAM�50 GB Disk (Default)

22 of 34

Explore JupyterLab Interface

22

23 of 34

Offerings Depend on JupyterLab Env

23

Data Science Includes libraries for data analysis from the Julia, Python, and R communities. Includes the HTCondor command-line utilities and Python bindings.

Basic Includes basic command-line tools. Includes the HTCondor command-line utilities and Python bindings.

24 of 34

Offerings Depend on JupyterLab Env

24

Let’s Launch a

Basic Notebook

Basic Includes basic command-line tools. Includes the HTCondor command-line utilities and Python bindings.

25 of 34

Workflow Items of Note

25

Differences

Guest Account

Full Account

Command `whoami`

Jovyan

ap7.ospool.osg-htc.org username

Command `condor_status`

One execution point

All available OSPool execution points

Command `condor_q -all`

Lists only your (jovyan’s) jobs

Lists all jobs submitted from a standard OSPool access point

Data staging locations

/home�

/home

Future development: /public, /protected

26 of 34

HTCondor Job Submission

26

27 of 34

Hands-On

27

Open a terminal window and type:�

$ tutorial osg-hostname

$ cd tutorial-osg-hostname

$ ls

print-hostname.sh

hostname.submit

README.md

#!/bin/bash

echo $HOSTNAME

28 of 34

Hands-On

28

Open a terminal window and type:�

$ tutorial osg-hostname

$ cd tutorial-osg-hostname

$ ls

print-hostname.sh

hostname.submit

README.md

HTCondor submit files for Guest Accounts should include `should_transfer_input = YES` for submit files that use relative or absolute paths

29 of 34

Hands-On

29

Guest account output lists hostname of the Jupyter container

$ cat job.*.output | sort | uniq -c

100 jupyter-email-3arachellombardi-40gmail-2ecom

30 of 34

Hands-On

30

Full account output lists hostnames on the OSPool

$ cat job.*.output | sort | uniq -c

1 asx9

2 cc-cpu-01.hpc.siue.edu

1 cc-cpu-06

1 chpc-compute-12-0

1 cit2-c056.mwt2.org

1 cn441

2 compute-0-3.local

1 CRUSH-OSG-C7-10-5-139-154

3 CRUSH-OSG-C7-10-5-254-229

2 d12chas551.crc.nd.edu

2 d12chas580.crc.nd.edu

1 discovery-c14

1 hawk-a220

2 hawk-a621

1 iut2-c390.iu.edu

4 iut2-c395.iu.edu

2 lnxfarm202.colorado.edu

1 lnxfarm335.colorado.edu

1 n006

2 node0934.palmetto.clemson.edu

9 nodo85

8 OSG-17.local

1 osg-287727-0-fnpc22029.fnal.gov

1 osg-288502-0-fnpc22015.fnal.gov

12 OSG-6.rc.asu.edu

2 uct2-c413.mwt2.org

1 uct2-c431.mwt2.org

6 uct2-c440.mwt2.org

12 uct2-c500.mwt2.org

2 uct2-c555.mwt2.org

2 uct2-c580.mwt2.org

2 uct2-c636.mwt2.org

1 warlock03

2 warlock07

1 warlock14

1 wizard33

31 of 34

Log off

Hub Control Panel

31

File → Hub Control Panel → “Stop my Server” → “Logout”

32 of 34

Next Steps

You are welcome to continue using the Guest Account feature! We encourage you to share it with others to allow them to explore HTCondor and OSG services.

If you would like to request a Full Account, see Requesting an OSPool ap7.ospool.osg-htc.org Account

32

33 of 34

Questions?

33

34 of 34