Resource Availability Checker and Advanced Scheduling ( public )

FABRIC Tutorials

Overview

This artifact provides Jupyter notebooks for checking FABRIC testbed resource availability and scheduling experiments in advance. Two versions are included:

  • check_resource_availability.ipynb — Code-based version with standard notebook cells for step-by-step resource checking and scheduling.
  • check_resource_availability_gui.ipynb — Interactive GUI version using ipywidgets with dynamic forms, buttons, and dropdown filters for a web-app-like experience.

Features

  • Host-level availability — Browse current resource availability across all FABRIC hosts, including cores, RAM, disk, GPUs, SmartNICs, FPGAs, and NVMe.
  • Slice validation — Define nodes with specific components and validate against current availability using slice.validate().
  • Future time slot discovery — Use find_resource_slot() with a slice object to automatically find contiguous time windows where all required resources are simultaneously available.
  • Interactive resource calendar — View host-level availability over time using resources_calendar() with date and host filters.
  • Advanced scheduling — Submit slices with future lease windows, wait for SSH access with wait_ssh(), and run post-boot tasks automatically.

GUI Version Highlights

  • Dynamic node forms — add/remove nodes with dropdowns for site selection and multi-select for components.
  • One-click actions — Validate, Find Time Slots, Show Calendar, and Submit buttons.
  • Filterable calendar table with shortened column headers and scrollable HTML display.

Requirements

  • FABRIC testbed credentials and an active project allocation.
  • fabrictestbed-extensions (v2.0+) with support for find_resource_slot(), resources_calendar(), and slice.validate().
  • The GUI version uses ipywidgets and pandas (both included in the standard FABRIC JupyterHub environment).

Usage

  1. Run the setup cell to initialize FABlib and display your configuration.
  2. Browse host availability to identify candidate sites.
  3. Define your nodes (site, cores, RAM, disk, components) and validate the slice.
  4. If resources aren't available now, find future time slots or browse the calendar.
  5. Submit the slice for immediate or scheduled allocation.
  6. For future slices, use the wait cell to block until nodes become active, then collect results.
Views
11
Downloads
3 active (0 retired)
Versions
1
Last Updated
April 26, 2026, 8:53 p.m.
Version Created URN Downloads Actions
2026-04-26.1 April 26, 2026, 8:52 p.m. urn:fabric:contents:renci:b4fab28b-cc1c-4357-8b97-b9cd214bdf4d 3 download
University of North Carolina at Chapel Hill — kthare10@email.unc.edu