24
Building a SLURM Banking System Authors Sahil Hasan*, Harrison Kuo*, Cassie Zhang*, Quinn Dombrowski*, Steve Masover*, Patrick Schmitz*, Krishna Muriki(*,**) Yong Qin(*,**) * Berkeley Research Computing, University of California, Berkeley * High Performance Computing Services, Lawrence Berkeley National Laboratory

Building a SLURM Banking System - Research IT€¦ · Building a SLURM Banking System Authors Sahil Hasan*, Harrison Kuo*, Cassie Zhang*, Quinn Dombrowski* ... • Savio is a 400

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Building a SLURM Banking System - Research IT€¦ · Building a SLURM Banking System Authors Sahil Hasan*, Harrison Kuo*, Cassie Zhang*, Quinn Dombrowski* ... • Savio is a 400

BuildingaSLURMBankingSystemAuthorsSahilHasan*,HarrisonKuo*,CassieZhang*,QuinnDombrowski*,SteveMasover*,PatrickSchmitz*,KrishnaMuriki(*,**)YongQin(*,**)

*BerkeleyResearchComputing,UniversityofCalifornia,Berkeley*HighPerformanceComputingServices,LawrenceBerkeleyNationalLaboratory

Page 2: Building a SLURM Banking System - Research IT€¦ · Building a SLURM Banking System Authors Sahil Hasan*, Harrison Kuo*, Cassie Zhang*, Quinn Dombrowski* ... • Savio is a 400

myBRCDashboardUIDatabaseSystemRESTAPISLURMPlugins

- Overview-

BuildingaSLURMBankingSystem

Page 3: Building a SLURM Banking System - Research IT€¦ · Building a SLURM Banking System Authors Sahil Hasan*, Harrison Kuo*, Cassie Zhang*, Quinn Dombrowski* ... • Savio is a 400

• BerkeleyResearchComputing

• Deliverreliable,sustainableresourcesandservicestomeetcomputationaldemandsofResearchgroupsinUCBerkeley.

• Savioisa400nodeinstitutionalHPCLinuxclusterwhichformsthefoundationoftheBRCprogram.

• NumberofresearchgroupswithCondocontributions-22

• Numberofresearchgroupsusingfreecomputeallowances- 195

• Numberofuniqueusers- 1120

WhatisBRC?

Page 4: Building a SLURM Banking System - Research IT€¦ · Building a SLURM Banking System Authors Sahil Hasan*, Harrison Kuo*, Cassie Zhang*, Quinn Dombrowski* ... • Savio is a 400

• Managedthroughsacct,sacctmgr

• CurrentBRCaccountinginfrastructureislimitedandnoteasilyintegratedintomyBRC

• HardtocreatewebapplicationstoprovideuserinterfacesforaccountingusingSLURMAPI

StateofSLURMAccounting

Page 5: Building a SLURM Banking System - Research IT€¦ · Building a SLURM Banking System Authors Sahil Hasan*, Harrison Kuo*, Cassie Zhang*, Quinn Dombrowski* ... • Savio is a 400

Why?

• Facultygetcomputeallowanceof300KServiceUnits(SU=1core-hour)

• FacultyComputingAllowances(FCA)areusuallyformedforfacultyresearch•FCA~10softrustedusersinagroup

• InstructionComputingAllowances(ICA)areusuallygivenforinstructors•ICA~10-100sofpotentiallyuntrustedusers

• Instructors/Facultywanttocontrolquotasandourcurrentinfrastructurecannotsupportthis

Page 6: Building a SLURM Banking System - Research IT€¦ · Building a SLURM Banking System Authors Sahil Hasan*, Harrison Kuo*, Cassie Zhang*, Quinn Dombrowski* ... • Savio is a 400

Goals

• Createanopensource,plugandplayaccountingsystem

• IndependentofexistingSLURMdatabase

• Easilyallowforwebapplicationstobebuiltontopofstack

Page 7: Building a SLURM Banking System - Research IT€¦ · Building a SLURM Banking System Authors Sahil Hasan*, Harrison Kuo*, Cassie Zhang*, Quinn Dombrowski* ... • Savio is a 400

Overview

SLURMplugins

API+Logic

SLURMplugins myBRCDashboard

Database

Page 8: Building a SLURM Banking System - Research IT€¦ · Building a SLURM Banking System Authors Sahil Hasan*, Harrison Kuo*, Cassie Zhang*, Quinn Dombrowski* ... • Savio is a 400

• AgraphicalDjango-baseddashboardthataidsaccountownersinchangingallocations,generatingvisualizations,etc.

• AdatabasesystemseparatefromexistingSLURMinfrastructure

• RESTAPItoprotectintegrityofdatabase

• Asystemofpluginsthatenableseasysub-allocationofTRES-minutesandtracksburndownofsub-allocationswithinanaccount

Components

Page 9: Building a SLURM Banking System - Research IT€¦ · Building a SLURM Banking System Authors Sahil Hasan*, Harrison Kuo*, Cassie Zhang*, Quinn Dombrowski* ... • Savio is a 400

DatabaseSystemRESTAPISLURMPlugins

Overview

- myBRCDashboardUI-

BuildingaSLURMBankingSystem

Page 10: Building a SLURM Banking System - Research IT€¦ · Building a SLURM Banking System Authors Sahil Hasan*, Harrison Kuo*, Cassie Zhang*, Quinn Dombrowski* ... • Savio is a 400

DashboardIntegratedwithBRCWebsite

Page 11: Building a SLURM Banking System - Research IT€¦ · Building a SLURM Banking System Authors Sahil Hasan*, Harrison Kuo*, Cassie Zhang*, Quinn Dombrowski* ... • Savio is a 400

Login

Page 12: Building a SLURM Banking System - Research IT€¦ · Building a SLURM Banking System Authors Sahil Hasan*, Harrison Kuo*, Cassie Zhang*, Quinn Dombrowski* ... • Savio is a 400

NotificationCenter

Page 13: Building a SLURM Banking System - Research IT€¦ · Building a SLURM Banking System Authors Sahil Hasan*, Harrison Kuo*, Cassie Zhang*, Quinn Dombrowski* ... • Savio is a 400

StatisticsVisualization

Page 14: Building a SLURM Banking System - Research IT€¦ · Building a SLURM Banking System Authors Sahil Hasan*, Harrison Kuo*, Cassie Zhang*, Quinn Dombrowski* ... • Savio is a 400

AllocationManager

Page 15: Building a SLURM Banking System - Research IT€¦ · Building a SLURM Banking System Authors Sahil Hasan*, Harrison Kuo*, Cassie Zhang*, Quinn Dombrowski* ... • Savio is a 400

ServiceUnitCalculator

Page 16: Building a SLURM Banking System - Research IT€¦ · Building a SLURM Banking System Authors Sahil Hasan*, Harrison Kuo*, Cassie Zhang*, Quinn Dombrowski* ... • Savio is a 400

RESTAPISLURMPlugins

OverviewmyBRC DashboardUI

- DatabaseSystem-

BuildingaSLURMBankingSystem

Page 17: Building a SLURM Banking System - Research IT€¦ · Building a SLURM Banking System Authors Sahil Hasan*, Harrison Kuo*, Cassie Zhang*, Quinn Dombrowski* ... • Savio is a 400

DatabaseSystem

• NeededtoreflectwhatwasusedinSLURMaccounting

• Neededtohavegoodassociationsbetweenusers,accountsandjobs

• Customizablepartitions,QOS,jobstatus,etc.

• UsesmySQL

Page 18: Building a SLURM Banking System - Research IT€¦ · Building a SLURM Banking System Authors Sahil Hasan*, Harrison Kuo*, Cassie Zhang*, Quinn Dombrowski* ... • Savio is a 400
Page 19: Building a SLURM Banking System - Research IT€¦ · Building a SLURM Banking System Authors Sahil Hasan*, Harrison Kuo*, Cassie Zhang*, Quinn Dombrowski* ... • Savio is a 400

SLURMPlugin

OverviewmyBRC DashboardUIDatabaseSystem

- RESTAPI-

BuildingaSLURMBankingSystem

Page 20: Building a SLURM Banking System - Research IT€¦ · Building a SLURM Banking System Authors Sahil Hasan*, Harrison Kuo*, Cassie Zhang*, Quinn Dombrowski* ... • Savio is a 400

RestAPI

• Neededtosupportviewingquotas

• Neededtoallowprivilegeduserstoeditotherusers’quotas

• Threeendpoints:/users,/accounts,and/jobs

• Allowsalayerofconvenienceandsecuritybetweentheuser/applicationandthedatabase/logic/SLURM

• UsesDjangoWebFramework

Page 21: Building a SLURM Banking System - Research IT€¦ · Building a SLURM Banking System Authors Sahil Hasan*, Harrison Kuo*, Cassie Zhang*, Quinn Dombrowski* ... • Savio is a 400

- SLURMPlugin-

OverviewmyBRC DashboardUIDatabaseSystemRESTAPI

BuildingaSLURMBankingSystem

Page 22: Building a SLURM Banking System - Research IT€¦ · Building a SLURM Banking System Authors Sahil Hasan*, Harrison Kuo*, Cassie Zhang*, Quinn Dombrowski* ... • Savio is a 400

SLURMPlugin

• SLURMpluginsperformwebAPIcallstointeractwithdatabase

• Allowsforjobsrunfromtheterminaltoberegisteredindatabase

• Splitintotwofunctions:asubmit-timeandanepilogue

Page 23: Building a SLURM Banking System - Research IT€¦ · Building a SLURM Banking System Authors Sahil Hasan*, Harrison Kuo*, Cassie Zhang*, Quinn Dombrowski* ... • Savio is a 400

LifecycleofaSuccessfulJob

Job submittedBy user

Job created with hold status

Submit-Time

Job updatedwith finish

status Check SUs used

Epilogue

Check if job is less than allowance

Deducts user balance

Job run

Page 24: Building a SLURM Banking System - Research IT€¦ · Building a SLURM Banking System Authors Sahil Hasan*, Harrison Kuo*, Cassie Zhang*, Quinn Dombrowski* ... • Savio is a 400

Thankyou