• Taiwania 1 使用者操作手冊
    使用者手冊 (中、英版) 如附件


  • Queue 與計算資源使用說明

    版次20190826 v1.2

     
    詳細說明:


    ※ 一般CPU節點具192GB記憶體,大記憶體CPU節點具384GB記憶體;
        每一節點各有Intel Xeon Gold 6148 CPU 2顆,共計40核心。

    ※ GPU計算節點具4張NVIDIA P100,其餘硬體規格皆與一般計算節點相同。

    用戶於此系統最多可同時執行50個計算工作,最多可同時執行6000核心。
        各Queue亦有限制各用戶同時執行計算工作數目的上限,
        逾上限之計算工作仍需排隊等候。

    ※ Queue cf40 分配的計算節點本機端具有一顆SSD硬碟,適合單節點且需高速
        資
    料讀寫的計算工作使用,如Gaussian應用程式。
        使用方式請詳閱計算節點SSD
    儲存空間使用說明

    ※ 計算工作不會用到GPU時,請勿使用gtest、gp4、gp16等執行於
        GPU計算節點的Queue。
    若違反,系統管理員將會停止該筆計算工作,
        避免不合適的計算工作占用有限的GPU
    計算資源。

    使用GPU執行計算工作時,原則上1GPU最多搭配10CPU
       
    CPU用量逾此比例,請適度增加GPU數量,否則系統不予接受


    收費費率請參考台灣杉一號(Taiwania 1)的費率


      ct_indgp_ind 兩種Queue提供企業與個人計畫使用,可減少排隊等候時

         間與即時執行計算工作如須使用者,可透過電子郵件方式通知客服
         (iservice@narlabs.org.tw)
    ,經設定權限後即可使用。


  • TensorFlow Job使用說明
    TensorFlow Job使用說明 如附件
  • Taiwania 1 使用懶人包
    Taiwania 1 使用懶人包
    可選擇參考電子檔或是撥放檔






  • Singularity使用說明
  • 計算節點SSD儲存空間使用說明
    計算節點SSD儲存空間使用說明,詳附件檔。
  • 利用公鑰進行檔案傳輸使用說明
    利用公鑰進行檔案傳輸使用說明,如附件檔
  • 使用 Rclone 串接雲端空間

    台灣杉一號安裝了 Rclone,提供操控雲端空間的指令,可以在 CLI (command-line interface) 的環境上傳/下載雲端空間的檔案。可串接的雲端空間包含了 Google Drive、Microsoft OneDrive、Dropbox 等服務,詳細支援請參考官網

     

    以下說明 Rclone 遠端連線至雲端空間,以 Google Drive 為例,分為二部分:
    1. Rclone 遠端連線至 Google Drive
    2. Rclone 基本指令操作範例


    1. Rclone 遠端連線至 Google Drive

    Step 1. 參考台灣杉1號使用手冊,以SSH連線至主機

     

    Step 2. 載入 Rclone ,指令列請輸入:

    module load rclone/1.45

     

    Step 3. 顯示 Rclone 的說明,確定載入成功與否

    rclone --help
         
    man rclone

     

    Step 4. 設定遠端連線至 Google Drive:下完以下指令,會出現一連串互動式問答設定,依序填入即新增完成

     rclone config

     

    互動式填入資訊範例:

    -----------------------------------------------
    No remotes found - make a new one
    n) New remote
    s) Set configuration password
    q) Quit config
    n/s/q> n (選 n 新增遠端雲端空間)
    name> google_drive_test (命名 google_drive_test)
    Type of storage to configure.
    Enter a string value. Press Enter for the default ("").
    Choose a number from below, or type in your own value
     1 / A stackable unification remote, which can appear to merge the contents of several remotes
       \ "union"
     2 / Alias for a existing remote
       \ "alias"
     3 / Amazon Drive
       \ "amazon cloud drive"
     4 / Amazon S3 Compliant Storage Providers (AWS, Ceph, Dreamhost, IBM COS, Minio)
       \ "s3"
     5 / Backblaze B2
       \ "b2"
     6 / Box
       \ "box"
     7 / Cache a remote
       \ "cache"
     8 / Dropbox
       \ "dropbox"
     9 / Encrypt/Decrypt a remote
       \ "crypt"
    10 / FTP Connection
       \ "ftp"
    11 / Google Cloud Storage (this is not Google Drive)
       \ "google cloud storage"
    12 / Google Drive
       \ "drive"
    13 / Hubic
       \ "hubic"
    14 / JottaCloud
       \ "jottacloud"
    15 / Local Disk
       \ "local"
    16 / Mega
       \ "mega"
    17 / Microsoft Azure Blob Storage
       \ "azureblob"
    18 / Microsoft OneDrive
       \ "onedrive"
    19 / OpenDrive
       \ "opendrive"
    20 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
       \ "swift"
    21 / Pcloud
       \ "pcloud"
    22 / QingCloud Object Storage
       \ "qingstor"
    23 / SSH/SFTP Connection
       \ "sftp"
    24 / Webdav
       \ "webdav"
    25 / Yandex Disk
       \ "yandex"
    26 / http Connection
       \ "http"
    Storage> 12 (打入 Google Drive 對應序號 12)
    ** See help for drive backend at: https://rclone.org/drive/ **

    Google Application Client Id
    Leave blank normally.
    Enter a string value. Press Enter for the default ("").
    client_id> (通常直接按 enter 不需填入,參考備註➀)
    Google Application Client Secret
    Leave blank normally.
    Enter a string value. Press Enter for the default ("").
    client_secret> (通常直接按 enter 不需填入,參考備註➀.
    Scope that rclone should use when requesting access from drive.
    Enter a string value. Press Enter for the default ("").
    Choose a number from below, or type in your own value
     1 / Full access all files, excluding Application Data Folder.
       \ "drive"
     2 / Read-only access to file metadata and file contents.
       \ "drive.readonly"
       / Access to files created by rclone only.
     3 | These are visible in the drive website.
       | File authorization is revoked when the user deauthorizes the app.
       \ "drive.file"
       / Allows read and write access to the Application Data folder.
     4 | This is not visible in the drive website.
       \ "drive.appfolder"
       / Allows read-only access to file metadata but
     5 | does not allow any access to read or download file content.
       \ "drive.metadata.readonly"
    scope> 1 (選 1 獲取全部權限)
    ID of the root folder
    Leave blank normally.
    Fill in to access "Computers" folders. (see docs).
    Enter a string value. Press Enter for the default ("").
    root_folder_id> (直接按 enter 不需填入)
    Service Account Credentials JSON file path
    Leave blank normally.
    Needed only if you want use SA instead of interactive login.
    Enter a string value. Press Enter for the default ("").
    service_account_file> (直接按 enter 不需填入)
    Edit advanced config? (y/n)
    y) Yes
    n) No
    y/n> n (選 n 不需要進階設定)
    Remote config
    Use auto config?
     * Say Y if not sure
     * Say N if you are working on a remote or headless machine or Y didn't work
    y) Yes
    n) No
    y/n> n (選 n,複製底下網址貼到自己電腦的瀏覽器,瀏覽器畫面如備註➁)
    If your browser doesn't open automatically go to the following link: https://accounts.google.com/o/oauth2/auth?access_type=offline&...
    Log in and authorize rclone for access (上步驟同意 rclone 權限後,網頁會出現一組亂碼,此時複製貼到底下,瀏覽器畫面如備註➂)
    Enter verification code> 4/zgDS6-2P49oRpkvWx... Configure this as a team drive?
    y) Yes
    n) No
    y/n> n (選 n,通常沒有用 team drive)
    --------------------
    [google_drive_test]
    type = drive
    scope = drive
    token = {"access_token":"XXX","token_type":"Bearer","refresh_token":"XXX","expiry":"2019-01-10T11:42:22.453656282+08:00"}
    --------------------
    y) Yes this is OK
    e) Edit this remote
    d) Delete this remote
    y/e/d> y (確認上述資訊正確,選 y 儲存)
    Current remotes:

    Name                  Type
    ====                  ====
    google_drive_test    drive
    -----------------------------------------------



    2. Rclone基本操作指令範例


    1. 列出雲端空間裡的資料夾:

    rclone lsd google_drive_test:

    2. 列出雲端空間的資料夾 remote_folder 內,所有檔案:

    rclone ls google_drive_test:remote_folder

    3. 複製本機檔案 test.jpg,到雲端資料夾 remote_folder 內:

    rclone copy ~/local_folder/test.jpg google_drive_test:remote_folder

    4. 複製雲端空間檔案 test.jpg 到本機資料夾 local_folder 內:

    rclone copy google_drive_test:remote_folder/test.jpg  ~/local_folder

    5. 同步本機檔案 test.jpg 到雲端空間 remote_folder 資料夾:

    rclone sync ~/local_folder/test.jpg google_drive_test:remote_folder

    6. 同步雲端空間資料夾 remote_folder 到本機,本機資料夾命名為 local_folder:

    rclone sync google_drive_test:remote_folder  ~/local_folder

    7. 同步雲端空間資料夾 remote_folder 到本機,本機資料夾命名為  local_folder,
        並一次傳輸 10 個檔案(--transfers=10),並顯示詳細資訊(-vv):

    rclone sync -vv --transfers=10 google_drive_test:remote_folder ~/local_folder


    其他進階操作請參考Rclone官網文件 https://rclone.org/docs/

    -----------------------------------------------

    備註:

    ① 若要增加 Google Drive 上傳/下載速度,可以設定 Google client ID,
         詳情可以參考官網文件,Making your own client_id 部分

    ② 複製網址貼到瀏覽器上,Rclone 將要求權限讀取你的 Google Drive,請按同意
         

    ③ 同意後會出現一組亂碼,再複製貼回 Rclone 互動式問答下
         

          版次:20190115 v1.0

  • 境外 IP 連線需求申請說明
    台灣杉一號主機的登入節點與檔案傳輸節點,預設僅提供本國境內的IP位址連線
    如果用戶於國外地區,需要長時間SSH連線登入使用本系統,
    請透過服務網提出特殊服務申請,須填妥外國地區來源IP
    (特定
    Public IPc-class以下的固定網段)、
    連線起訖日期、與使用者帳號。
    經本中心審核及設定後,將會開通國外的特定
    IP可以連線到
    台灣杉一號主機。

    申請說明


    1.
    登入iService服務網-->會員中心--> 特殊服務申請

    2.
    [計畫服務選擇]頁面,挑選計畫資料,再選擇 [其他服務申請]


    填寫申請單內容後,資料正確無誤,按下【提交申請】頁面,送出申請資料
  • Lustre 檔案系統使用說明


    台灣杉一號主機主要有提供 /home/work1 /project 三個 Lustre 平行檔案系統。這三個 Lustre 平行檔案系統在建置初期已有不同的使用規劃,在此提供更詳細操作解說,請根據您計算與儲存需求,選擇合適的檔案系統使用。

     

    三個平行檔案系統:

     檔案系統掛載點

     用途說明

     /home

     登入後的Shell空間,自行安裝的軟體請安裝家目錄下

     /work1

     計算工作執行過程暫時的儲存空間,適合高效能讀寫

     /project

     供專用申請計畫保存長期靜態資料的共享空間

     

         • /work1 的儲存總頻寬與平行讀寫效能均優於 /home /project,因此建議使用 /work1 當作計算工作運算過程的資料輸出空間,不建議直接於 /home /project 進行有大量讀寫檔案的計算工作

         • /project 的使用需要額外付費申請,/project 是專門用來存放需要保存較久的靜態資料。

     

    1. 查詢額度與用量

    可利用以下指令查詢各個 Lustre 檔案系統的儲存容量額度:  

    $ lfs quota -u username /home
    Disk quotas for usr username (uid 10181):
         Filesystem  kbytes   quota   limit   grace   files   quota   limit   grace          
        /home 34176060  104857600 104857600       -  334315       0       0      

    • Quota 欄位的數值,為用戶在該平行檔案系統的儲存容量上限 (單位為bytes)。
    • kbytes 欄位的數值,為用戶在該平行檔案系統上,屬於其帳號擁有的所有檔案大小總和 (單位為bytes)
    • 當使用過程出現 Disk quota exceeded 時,表示檔案總儲存容量超過申請的額度,
       請刪除較舊的資料或是增購額外的儲存空間,否則資料無法持續輸出,將影響計算工作進行。

     

    當然您也可以使用基本的Linux作業系統 "du" 指令,去統計各子目錄下的檔案使用容量:

    $ du –sh /home/username

     

    2. 巨大檔案的讀寫與Application I/O

    當您輸出一個檔案,若沒有事先設定 stripe,檔案預設只會寫入到單一個 Lustre OST 。當輸出超過容量達100GB以上的單一巨大檔案的過程往往非常耗時,因此請使用 Lustre 檔案系統提供的特殊指令,先規劃好專門用來儲存超過100GB檔案以上的一個子目錄。然後對這一個子目錄設定 Lustre stripe,以便將巨大檔案的實際資料內容,分散儲存於 Lustre 檔案系統底層的各個 Lustre OST 內,讓儲存底層更多的硬碟共同協助存取資料,增加大檔案的讀寫效率。指令使用方式如下

    $ lfs setstripe -c <stripe count> -S <stripe size> <file|directory>

    $ lfs getstripe <file|directory>

    許多文獻也都指出科學計算常使用到的 IO Library (ADIOS, PnetCDF, NetCDF, HDF5),平行計算 MPI Library 支援的平行讀寫 (MPIIO, ROMIO) 機制等,都建議要對於計算工作的資料輸出目錄,先設定 Lustre striping,讓平行程式計算的過程搭配平行化的資料讀寫。

     

    以下為一個子目錄設定8stripe 的範例 (32MB就循序分散到下一個OST儲存),即您寫出的檔案存放到這個子目錄之後,檔案實際上是分散儲存到8 OST

    $ lfs setstripe -c 8 -S 32m big_file_dir/
    $ lfs getstripe big_file_dir/
    big_file_dir/
    stripe_count:   8 stripe_size:    33554432 stripe_offset:  -1

    $ dd if=/dev/zero of=./big_file_dir/100GB.dat bs=10M count=10240
    10240+0 records in
    10240+0 records out
    107374182400 bytes (107 GB) copied, 86.2875 s, 1.2 GB/s

    $ lfs getstripe ./big_file_dir/100GB.dat
    ./big_file_dir/100GB.dat
    lmm_stripe_count:   8
    lmm_stripe_size:    33554432
    lmm_pattern:        1
    lmm_layout_gen:     0
    lmm_stripe_offset:  54
            obdidx           objid           objid           group
                54        19473325      0x12923ad          0
                 9        19473037      0x129228d           0
                63        19474579      0x1292893          0
                27        19473253      0x1292365          0
                45        19473700      0x1292524          0
                19        19472431      0x129202f            0
                 1        19472305      0x1291fb1             0
                37        19472366      0x1291fee           0

    備註: stripe count (-c的參數) 數值不可超過144

     

    您無法對已經建立的大檔案的設定 stripe
    請參考以下範例重新準備一個有設定 stripe 的空檔案,然後將原本的大檔案複製成這一個空檔案,來達成 stripe 設定:

    $ lfs setstripe newfile -S 2m -c 8
    $ file newfile
    newfile: empty

    $ cp oldfile newfile

    $ lfs getstripe newfile
    newfile
    lmm_stripe_count:   8
    lmm_stripe_size:    2097152
    lmm_pattern:        1
    lmm_layout_gen:     0
    lmm_stripe_offset:  28
            obdidx           objid           objid           group
                28        20104223      0x132c41f           0
                46        20101885      0x132bafd           0
                20        20102663      0x132be07          0
                 2        20101708      0x132ba4c           0
                38        20102452      0x132bd34         0
                56        20103079      0x132bfa7          0
                11        20101991      0x132bb67           0
                65        20102382      0x132bcee         0

     

     

    3. 檔案搜尋

    搜尋檔案是常見的檔案系統操作,檔案數量越多則搜尋檔案的時間自然就會越久,因此當您在執行計算工作時,
    不建議進行大量檔案的搜尋,以免計算過程中處理器閒置,大量檔案搜尋也容易造成無法預估合理的計算完成時間。

    "lfs" 指令是 Lustre 檔案系統本身所提供給一般使用者可以使用的指令,使用 "lfs find" 來尋找檔案,
    會比用 Linux 作業系統預設提供 "find" 搜尋指令來得更有效率。 以下提供幾個 "lfs find" 使用參考範例:

     

    1. 遞迴搜尋所有子目錄,分行顯示全部

    $ lfs find /work1/username/DIR

     

    2. 只搜尋一層,分行顯示

    $ lfs find /work1/username/DIR –maxdepth 1
    $ lfs find /work1/username/DIR –maxdepth 1 --print

     

    3. 只搜尋一層,同一行顯示

    $ lfs find /work1/username/DIR –maxdepth 1 –print0


    4. 檔案列表

    任何檔案系統的使用過程,都不建議在單一目錄之下,儲存超過執行 "ls -al" 能正常反應時間的檔案數量。
    就資料管理的角度,當您有更多的資料檔案需要儲存或輸出時,每一次輸出超過256個檔案,
    就需考慮儲存到其他目錄或子目錄,若您直接對有擁大量檔案的目錄執行列表查看,
    或者是進行搜尋檔案,都將影響到您計算工作的效率。


    根據 Lustre 官方文件,建議您可以使用以下命令,取代 "ls" 指令,將更有效率地顯示列表:

    $ lfs find –D 0 *



    版次:20190308 v1.0

  • 如何在台灣杉一號掛S3 bucket儲存空間使用說明
    如何在台灣杉一號掛S3 bucket儲存空間使用說明 如附件