Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Jalankan jenis penyimpanan dalam HealthOmics alur kerja
Saat Anda memulai proses, HealthOmics mengalokasikan penyimpanan run sementara untuk mesin alur kerja yang akan digunakan selama proses. HealthOmicsmenyediakan penyimpanan run sementara sebagai sistem file.
Untuk alur kerja atau alur kerja tertentu, Anda dapat memilih penyimpanan run dinamis atau statis. Secara default, HealthOmics menyediakan penyimpanan run statis.
catatan
Jalankan penggunaan penyimpanan menimbulkan biaya ke akun Anda. Untuk informasi harga tentang penyimpanan run statis dan dinamis, lihat HealthOmicsharga
Bagian berikut memberikan informasi untuk dipertimbangkan saat memutuskan jenis penyimpanan run mana yang akan digunakan.
Penyimpanan berjalan dinamis
Sebaiknya gunakan penyimpanan run dinamis untuk sebagian besar proses, termasuk proses yang memerlukan waktu mulai lebih cepat, berjalan di mana Anda tidak mengetahui kebutuhan penyimpanan sebelumnya, dan untuk siklus pengujian pengembangan berulang.
Anda tidak perlu memperkirakan penyimpanan atau throughput yang diperlukan untuk menjalankan. HealthOmics secara dinamis menskalakan ukuran penyimpanan ke atas atau ke bawah, berdasarkan pemanfaatan sistem file selama dijalankan. HealthOmics juga secara dinamis menskalakan throughput berdasarkan kebutuhan alur kerja. Jalankan tidak pernah gagal karena kehabisan penyimpanan untuk kesalahan sistem file.
Dynamic run storage memberikan provisioning/deprovisioning waktu yang lebih cepat daripada penyimpanan run statis. Pengaturan yang lebih cepat merupakan keuntungan bagi sebagian besar alur kerja dan juga merupakan keuntungan selama development/test siklus.
Setelah proses selesai (jalur sukses atau jalur gagal), operasi GetRun API mengembalikan penyimpanan maksimum yang digunakan oleh proses di bidang StorageCapacity. Anda juga dapat menemukan informasi ini di log manifes run yang terletak di grup omics log. Untuk proses penyimpanan dinamis yang selesai dalam 2 jam, nilai penyimpanan maksimum mungkin tidak tersedia.
Untuk penyimpanan run dinamis, run menyediakan sistem file yang menggunakan protokol NFS. NFS memperlakukan CREATE, DELETE, dan RENAME operasi file sebagai non-idempoten, yang kadang-kadang dapat menyebabkan kondisi balapan untuk operasi ini yang perlu ditangani kode Anda dengan anggun. Misalnya, kode Anda tidak boleh gagal jika mencoba menghapus file yang tidak ada. Sebelum mengadopsi penyimpanan run dinamis, sebaiknya sesuaikan kode alur kerja Anda agar tahan terhadap operasi file non-idempoten. Lihat Contoh kode untuk penanganan operasi non-idempoten yang aman.
Contoh kode untuk penanganan operasi non-idempoten yang aman
Contoh python berikut menunjukkan cara menghapus file tanpa gagal jika file tidak ada.
import os import errno def remove_file(file_path): try: os.remove(file_path) except OSError as e: # If the error is "No such file or directory", ignore it (or log it) if e.errno != errno.ENOENT: # Otherwise, raise the error raise # Example usage remove_file("myfile")
Contoh berikut menggunakan shell Bash. Untuk menghapus file dengan aman meskipun tidak ada, gunakan:
rm -f my_file
Untuk memindahkan (mengganti nama) file dengan aman, jalankan perintah move hanya jika file old_name
ada di direktori saat ini.
[ -f old_name ] && mv old_name new_name
Untuk membuat direktori, gunakan perintah berikut:
mkdir -p mydir/subdir/
Penyimpanan berjalan statis
Untuk penyimpanan run statis, run menyediakan sistem file yang menggunakan protokol Lustre. Protokol ini tahan terhadap operasi file non-idempoten secara default. Anda tidak perlu menyesuaikan kode alur kerja Anda untuk menangani operasi file non-idempoten.
HealthOmics mengalokasikan jumlah penyimpanan run yang tetap. Anda menentukan nilai ini ketika Anda memulai proses. Penyimpanan run default adalah 1200 GiB, jika Anda tidak menentukan nilai. Saat Anda menentukan nilai untuk ukuran penyimpanan dalam permintaan StartRun API, sistem akan membulatkan nilai ke kelipatan terdekat 1200 GiB. Jika ukuran penyimpanan itu tidak tersedia, itu membulatkan ke kelipatan terdekat 2400 GiB.
Untuk penyimpanan run statis, HealthOmics berikan nilai throughput berikut:
-
Throughput dasar 200 per MB/s TiB dari kapasitas penyimpanan yang disediakan.
-
Throughput burst hingga 1300 per MB/s TiB dari kapasitas penyimpanan yang disediakan.
Jika ukuran penyimpanan yang ditentukan terlalu rendah, proses gagal dengan kesalahan Kehabisan penyimpanan untuk sistem file. Penyimpanan yang dijalankan statis sangat cocok untuk alur kerja yang dapat diprediksi dengan persyaratan penyimpanan yang diketahui.
Static run storage cocok untuk beban kerja yang besar dan meledak dengan konkurensi tugas tinggi (misalnya, sejumlah besar RNASeq sampel yang diproses secara paralel). Ini memberikan throughput sistem file yang lebih tinggi per GiB dan biaya per GiB yang lebih rendah daripada penyimpanan run dinamis.
Menghitung penyimpanan run statis yang diperlukan
Alur kerja membutuhkan kapasitas tambahan ketika menggunakan penyimpanan run statis (dibandingkan dengan penyimpanan run dinamis) karena instalasi sistem file dasar menggunakan 7% dari kapasitas sistem file statis.
Jika Anda menjalankan alur kerja penyimpanan dinamis untuk mengukur penyimpanan maksimum yang digunakan oleh proses, gunakan perhitungan berikut untuk menentukan jumlah minimum penyimpanan statis yang diperlukan:
static storage required = maximum storage in GiB used by the dynamic run storage + (total static file system size in GiB * 0.07)
Misalnya:
Maximum storage measured from a dynamic run storage workflow run: 500GiB File system size: 1200GiB 7% of the file system size: 84GiB 500 + 84 = 584GiB of static run storage required for this run.
Oleh karena itu, 1200GiB (kapasitas minimum untuk penyimpanan run statis) sudah cukup untuk menjalankan ini.