• 台灣杉三號的專屬保證資源(保留佇列RQ與限時保留佇列RTSQ)與台灣杉一號(Taiwania 1)專屬計算資源有何不同?
    相同:保證用戶於租用時段內,可即時取用租用的所有計算資源。
    不同:
    (1)台灣杉一號專屬計算資源係租用固定的計算節點且計算核心數有級距限制,當計算資源閒置時,無法服務其他用戶。
    (2)台灣杉三號的保留佇列(RQ)與限時保留佇列(RTSQ),除有租用計算核心數最小與最大值限制外,其他無限制,計算資源依核心數動態調撥,非採用固定專用節點,讓計算資源租用更具彈性,且若有資源閒置時,可釋出提供其他用戶服務,使有限的計算資源得以充分利用,不致造成閒置浪費。
  • 保留佇列、限時保留佇列與非保留佇列的執行優先權有何不同?
    保留佇列與限時保留佇列擁有最高的執行優先權;其中非保留佇列屬較低執行優先權。

  • 保留佇列用戶若臨時有大於租用計算資源的短期性的計算需求,該怎麼辦?
    若保留佇列用戶使用量已達租用資源的上限後,還有額外的計算需求時,除了繼續於租用的保留佇列中排隊等候使用外;亦可至非保留佇列提交計算工作,但須依非保留佇列系統排程政策排隊使用,此計算工作採非保留佇列費率計費。

  • 為何台灣杉三號申請RQ/RTSQ不需要像台灣杉一號要有設定費?
    因台灣杉一號為固定的專用節點,須等待調撥節點上的計算工作清空,在聚集足夠的計算資源後,方能提供租用戶服務,在此之前調撥的計算資源無法提供服務,增加系統維運成本;台灣杉三號保留佇列/限時保留佇列,資源調撥非屬固定節點,無需等待計算工作結束的服務空窗期間,且若租用戶有閒置資源時,這些計算資源亦可提供NRQ服務,不會造成計算資源閒置與浪費。
  • 保留佇列與限時保留佇列取用資源的原則為何?
    保留佇列的計算資源會優先使用當時系統閒置的計算資源,不足時會由非保留佇列最低優先權的佇列取用,取用資源依影響數量最少的計算工作為原則。
  • 一般用戶(NRQ)在台灣杉三號上相較於在以往的系統上,會有什麼影響?
    可能會有如下的幾種狀況發生:
    •保留佇列使用率低,釋出閒置資源,非保留佇列有更多計算資源可用,等待時間大幅減少。
    •保留佇列使用率穩定,與以往情況相同,非保留佇列計算工作未發生中斷重新計算的情形。
    •保留佇列使用率不定  ,非保留佇列計算工作可能會發生運算到一半被中斷,重新進入排程系統排隊,被requeue的機率視RQ用量與使用率而定,發生requeue後,整體的計算時間可能會比較長。
    •與以往系統比較,一般用戶的使用費率相對較為便宜,因此對一般用戶仍是相對有利的。
  • 我的計算工作算到一半被中斷,重新排隊等候計算,請問發生了什麼事?計算費用要怎麼算?
    若系統資源不足,則執行中NRQ工作因不具優先序,有可能被中斷。此時,該工作中斷前的使用量不會計費,且被中斷的工作將由系統自動派送重新排隊等候重新從頭計算,此時此工作將具有優先序,預設會自動重新排隊,在非保留佇列中有較高的執行優先權。
  • 我使用中的計算資源被徵用,計算工作被強迫中斷,但不想系統自動重新排隊(計算工作特殊,無法requeue重新計算),請問該怎麼做?
    因為計算資源不足,造成您的計算工作中斷,造成不便之處,我們深感抱歉!若您不願意系統幫您requeue的話,可在job script中加入 "#SBATCH --no-requeue",即可取消自動requeue的設定。如:

    #SBATCH -A GOV109109
    #SBATCH -p ct560
    #SBATCH -n 224
    #SBATCH -c 1
    #SBATCH --no-requeue
    #SBATCH -o  %j.out

    mpirun ......
  • 是否可能避免計算資源被徵用,造成計算中斷的情況發生?
    可以的,您可申請使用保留佇列RQ或限時保留佇列RTSQ,就一定不會有因為計算資源不足造成計算中斷的情況發生。
  • 該如何查看我的計算工作是否曾被徵用過?
    您可以使用 sacct 指令來查詢,如:
    $ sacct -D -j 98701 -o JobID,Start,End,Stat
    State出現PREEMPTED,即表示曾被徵用計算資源。

  • 我的計算工作發生過requeue,請問是被保留佇列RQ或限時保留佇列RTSQ的工作徵用嗎?
    台灣杉三號的SLURM預設是requeue enable,當您的計算工作因系統問題(如:檔案系統、硬體問題、網路問題...等),而計算失敗時,系統會自動將失敗的計算工作重新submit到SLURM裏排隊計算,job_id維持一樣。因此當您發現計算工作requeue,並不一定是計算資源被徵用,有可能是系統問題導致的,確認方法如前述說明,只有狀態是PREEMPTED才是被徵用的情況。
  • 我在台灣杉3號上使用非保留佇列的計算(NRQ)跑程式,但是跑到一半出現類似"slurmstepd: error: * JOB XXX ON cpnXXX CANCELLED AT 2021-08-20T18:58:18 DUE TO PREEMPTION * " ,請問這是怎樣的錯誤?
    因高執行優先權的保留佇列(RQ)計算工作徵用您位於非保留佇列(NRQ)的計算工作使用節點。被徵用計算資源導致中斷的計算工作,在計算中斷前的使用量不會計費,且該計算工作將自動派送至系統,排隊等候再次計算,此時此工作將具有優先序,在非保留佇列中有較高的執行優先權。目前系統設定若因硬體異常、計算資源被徵用等情況,會安排異常中斷的計算工作自動進入系統排隊等候執行,若您的計算工作不適合這種重新計算的行為,請務必在job script中加上--no-requeue的選項。
  • 我想要分享目錄/檔案給其他人使用,請問除了UNIX傳統的user、group、other等屬性外,是否可以像Widnows一樣可以指定特定的使用者或群組分享?
    傳統UNIX的基本檔案權限設定僅分為User、Group、Other等幾類可設,對於較精細的資訊安全管控需求不易達成,較為先進的UNIX/UNIX-like作業系統(如:AIX、HP-UX、Solaris、*BSD、Linux..)與檔案系統都有支援ACL(Access-control list),以下簡述其用法:

    常用命令名稱:
    setfacl 設定/移除檔案/目錄的ACL權限
    getfacl 讀取檔案/目錄的ACL權限

    1.分享檔案設定範例:
    * userA 設定fileA給userB讀取
    userA]$ setfacl -m u:userB:r fileA

    原來的fileA權限:
    userA]$ ls -l fileA
    -rw-r--r-- 1 userA groupA 1547 Sep 22 10:14 fileA

    變更後的權限:
    userA]$ ls -l fileA
    -rw-r--r--+ 1 userA groupA 1547 Sep 22 10:14 fileA

    注意:最後面多了"+"的符號,代表此目錄/檔案具ACL屬性。

    ** 確認分享後的權限
    userA]$ getfacl fileA
    # file: fileA
    # owner: userA
    # group: groupA
    user::rw-
    user:userB:r--
    group::r--
    mask::r--
    other::r--

    *** 移除分享給UserB的讀取權限
    userA]$setfacl -x u:userB fileA
    userA]$ls -l fileA
    -rw-r--r--+ 1 userA groupA 1547 Sep 22 10:14 fileA

    userA]$getfacl fileA
    # file: fileA
    # owner: userA
    # group: groupA
    user::rw-
    group::r--
    mask::r--
    other::r--

    **** 若要完整移除ACL相關設定,請使用-b的參數
    userA]$ setfacl -b fileA
    userA]$ ls -l fileA
    -rw-r--r-- 1 userA groupA 1547 Sep 22 10:14 fileA

    2.目錄分享設定範例
    * 設定目錄dirA給groupB 讀、寫與進入(rwx)權限
    userA]$setfacl -m g:groupB:rwx dirA

    原來的權限:
    userA]$ls -ld dirA
    drwxr-x--- 2 userA groupA 6 Sep 22 10:59 dirA

    分享後:
    userA]$ls -ld dirA
    drwxrwx---+ 2 userA groupA 6 Sep 22 10:59 dirA

    ** 確認權限是否正確
    userA]$# getfacl dirA
    # file: dirA
    # owner: userA
    # group: groupA
    user::rwx
    group::r-x
    group:groupB:rwx
    mask::rwx
    other::---

    *** 移除ACL設定
    userA]$setfacl -b dirA
    userA]$ls -ld dirA
    drwxr-x--- 2 userA groupA 6 Sep 22 10:59 dirA

    3.更多ACL設定,請man setfacl

    4. 請勿分享整個個人家目錄,除了個人資安風險外,亦會造成ssh連線問題。
  • 我在台灣杉三號上使用了224核心,為什麼是在6個節點上執行?而不是在預期的4個節點上執行?
    台灣杉三號為泛用型計算主機,提供許多領域不同需求的計算服務,每個計算工作需求核心數也不一樣,不一定會完全使用到整個節點的全部56個計算核心,因此就會出現部分節點有閒置核心的情況,造成計算資源零碎不連續分布。為充分使用這些零碎的計算資源,大部分的排程系統都會有把計算工作派送到這些閒置核心的功能,這種功能稱為backfill。

    台灣杉三號在今年(2021)8月,於SLURM的設定中加入backfill的policy。若您的計算工作沒有特別指定要多少節點或每個節點使用多少核心(--ntasks-per-node),那麼就會滿足backfill的派送條件,容易出現一個計算工作在不同的計算節點上有不同的使用核心數(process數),有的節點也許是1核心、有的也許是5核心等不一的情況,造成計算效能低落,甚至是出現結果偏差的情況。

    SLURM上與計算核心數/節點數比較相關且常用的設定,有以下4個:
    -n, --ntasks=<number>
    --ntasks-per-node=<ntasks>
    -c, --cpus-per-task=<ncpus>
    -N, --nodes=<nodes>

    其中--cpus-per-task(-c)預設值是1,只有在執行OpenMP(請注意:OpenMP與OpenMPI不同)計算時才需要設定,其餘時候可以忽略。
    --ntasks(-n)、--ntasks-per-node與--nodes(-N) 三者可同時使用或單獨使用,各有不同意義。
    a.只指定--ntasks=n,也就是只要mpi processes是n個,不管在幾個節點上執行都可。
    b.指定--ntasks=n和--ntasks-per-node=b,每個節點執行b個mpi process,mpi processes總數為n;若不為倍數,最後一個節點上的mpi process數目為餘數
    c.指定--ntasks=n和--nodes=N,n個mpi processes平均在N個節點上執行
    d.指定--ntasks-per-node=b和--nodes=N,在每個節點上執行b個mpi processes,於N個節點上執行,共有bxN個mpi processes

    範例:
    1.只指定--ntasks=220,可能會在4個以上的節點上執行。
    2.指定--ntasks=220、--ntasks-per-node=56,共會在4個節點上執行,其中三個節點有56個processes、一個是52個processes
    3.指定--ntasks=220、--nodes=4,共會在4個節點上執行,每個節點執行55個processes。
    4.指定--ntasks-per-node=56、--nodes=4,共會在4個節點上執行,每個節點執行56個processes,共有56x4=224個processes

    綜合上述,請依照您的計算模式需求撰寫job script設定,以免出現計算工作派送不如預期的情況,造成您的計算額度浪費。

  • 台灣杉三號上的NRQ使用方式,是否有侵害到RQ用戶的權益?
    台灣杉三號使用新的排程軟體Slurm,透過其先進的功能,可以提供用戶保留優先佇列(Reserved Queue, RQ),亦即用戶擁有優先權,但不是固定在某幾個節點,也就是900個節點隨需要的時候,可以彈性調度,這是迥異於台灣杉一號的包機方式,故台灣杉三號的RQ不是等同台灣杉一號的包機(固定主機)作法。

    NRQ (Non-Reserved Queue)用戶取用系統閒置CPU核心進行計算,RQ用戶需要時,可隨時取用其租用的核心數使用,因此,NRQ的使用,並不會侵害到RQ用戶的權益。同理,RTSQ (Reserved Time Slot Queue)與RQ一樣的機制,只是在特定時段使用RQ,所以,一樣不會被NRQ的使用而被侵害到相關權益。