Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Penyimpanan singkat untuk HealthOmics tugas alur kerja
HealthOmics menyediakan penyimpanan singkat untuk tugas alur kerja menggunakan direktori. /tmp Penyimpanan ini bersifat sementara dan unik untuk setiap tugas dalam alur kerja. HealthOmics mengalokasikan 16 GiB penyimpanan sementara untuk setiap instance tugas secara default. Anda dapat meningkatkan jumlah penyimpanan sementara yang dialokasikan untuk tugas individual dalam definisi alur kerja Anda, hingga maksimum 3.072 GiB per tugas. Semua data yang disimpan /tmp dienkripsi saat istirahat.
Topik
Manfaat utama
-
Eksekusi tugas yang lebih cepat: Penyimpanan sementara dapat meningkatkan kinerja run dengan mengurangi sistem file bersama. I/O
-
Kinerja yang dapat diprediksi: Tugas tidak bersaing dengan tugas lain yang berjalan secara bersamaan untuk I/O bandwidth, mengurangi variabilitas dan pembatasan yang terkait dengan sistem file jaringan bersama.
-
Biaya lebih rendah: Eksekusi tugas yang lebih cepat secara langsung mengurangi waktu komputasi dan biaya untuk tugas-tugas I/O terikat yang memanfaatkan.
/tmpUntuk menjalankan menggunakan penyimpanan Static run, ini dapat mengurangi jumlah penyimpanan run yang disediakan yang Anda butuhkan. Proses dinamis tidak memerlukan perubahan.
Cara kerja penyimpanan fana
Saat Anda mengaktifkan penyimpanan sementara, HealthOmics pasang volume penyimpanan lokal khusus /tmp untuk setiap instance tugas alur kerja. Penyimpanan sementara ditujukan untuk file sementara yang dihasilkan selama eksekusi tugas. Volume penyimpanan sementara selalu dihapus saat tugas berakhir. Data yang ditulis tidak /tmp disimpan, diekspor, atau dapat diakses ke tugas lain atau proses selanjutnya.
Di mana alur kerja menulis file sementara
Alur kerja mendapat manfaat dari penyimpanan sementara saat proses tugas langsung digores. I/O /tmp Bahasa alur kerja bioinformatika menggunakan /tmp direktori (dan$TMP, variabel $TMPDIR lingkungan) untuk file perantara sementara yang berumur pendek selama eksekusi tugas. Pastikan perintah tugas Anda belum dipetakan $TMPDIR ke lokasi lain.
Proses tugas alur kerja yang menulis untuk /tmp secara otomatis menggunakan penyimpanan sementara saat diaktifkan, tidak memerlukan perubahan alur kerja. Alur kerja yang tidak secara eksplisit mengarahkan proses awal /tmp akan menulis data awal ke direktori kerja pada sistem file bersama yang digunakan untuk menjalankan penyimpanan, meskipun alat yang digunakan mungkin memanfaatkan penyimpanan sementara/tmp.
Enkripsi saat diam
Semua penyimpanan sementara dienkripsi saat istirahat menggunakan kunci yang dikelola layanan. AWS KMS Instans komputasi yang dipercepat dienkripsi perangkat keras dengan kunci per volume unik yang dihancurkan saat instance berakhir.
Izin
HealthOmics mengelola lampiran dan siklus hidup volume penyimpanan sementara atas nama Anda. Tidak ada izin IAM tambahan yang diperlukan dalam peran eksekusi tugas Anda.
Mengaktifkan penyimpanan sementara
Anda dapat mengarahkan awal I/O ke penyimpanan lokal dengan menyetel scratchStorageMode di StartRun API. scratchStorageModePengaturan hanya berlaku untuk instance CPU dan berlaku untuk semua tugas dalam proses itu.
scratchStorageModemenentukan di mana alur kerja Anda menulis data awal. Kemungkinan nilai:
-
LOCAL— Penyimpanan sementara ditempatkan pada disk lokal. Scratch I/O memiliki IOPS dan throughput khusus. -
SHARED— Sistem file bersama digunakan (default). I/O Scratch bersaing dengan direktori kerja.
Untuk informasi selengkapnya, lihat Mulai lari di HealthOmics.
catatan
Tugas GPU selalu menggunakan penyimpanan sementara NVMe lokal untuk data awal, dan scratchStorageMode selalu untuk tugas GPU. LOCAL
Ikut serta dalam penyimpanan sementara
Untuk mengaktifkan penyimpanan sementara untuk menjalankan, setel scratchStorageMode ke LOCAL saat Anda memulai proses.
aws omics start-run \ --workflow-idworkflow-id\ --role-arnarn:aws:iam::123456789012:role/OmicsServiceRole\ --output-uri s3://amzn-s3-demo-bucket/output-folder/ \ --parameters file:///path/to/parameters.json\ --scratch-storage-mode LOCAL
Untuk batch run, scratchStorageMode masukdefaultRunSetting. Pengaturan ini berlaku untuk setiap proses dalam batch.
aws omics start-run-batch \ --batch-name "my-batch" \ --default-run-setting '{ "workflowId": "workflow-id", "roleArn": "arn:aws:iam::123456789012:role/OmicsServiceRole", "outputUri": "s3://amzn-s3-demo-bucket/output-folder/", "storageType": "DYNAMIC", "parameters": {"referenceUri": "s3://amzn-s3-demo-bucket/reference.fasta"}, "scratchStorageMode": "LOCAL" }' \ --batch-run-settings '{ "inlineSettings": [ { "runSettingId": "sample-A", "parameters": {"inputUri": "s3://amzn-s3-demo-bucket/sampleA.fastq"} }, { "runSettingId": "sample-B", "parameters": {"inputUri": "s3://amzn-s3-demo-bucket/sampleB.fastq"} } ] }'
Menyisih dari penyimpanan sementara
Untuk menonaktifkan penyimpanan sementara untuk proses tertentu (misalnya, untuk mengisolasi kegagalan), setel ke. scratchStorageMode SHARED
aws omics start-run \ --workflow-idworkflow-id\ --role-arnarn:aws:iam::123456789012:role/OmicsServiceRole\ --output-uri s3://amzn-s3-demo-bucket/output-folder/ \ --scratch-storage-mode SHARED
Kapan scratchStorageMode adaSHARED, semua disk dan arahan yang setara dalam definisi alur kerja diabaikan dan /tmp didukung oleh sistem file bersama. Pengaturan ini hanya berlaku untuk instance CPU. Tugas GPU selalu menggunakan penyimpanan sementara NVMe lokal dan tidak dapat ditolak.
Periksa mode efektif
Penyimpanan sementara dinonaktifkan secara default. Kapan scratchStorageMode dihilangkan dari StartRun permintaan, scratchStorageMode diatur ke SHARED (default).
scratchStorageModehanya dikembalikan dalam GetRun tanggapan jika secara eksplisit diteruskan dalam permintaan. StartRun SHAREDadalah nilai default jika dihilangkan. Panggil GetRun untuk mengonfirmasi mode penyimpanan efektif untuk dijalankan.
aws omics get-run --idrun-id
Alokasi penyimpanan default
Alokasi penyimpanan sementara default adalah 16 GiB per tugas untuk semua tipe Standar, Komputasi, dan instance. Memory-optimized Anda tidak perlu menentukan disk arahan untuk menerima default ini. Untuk mengkonfigurasi penyimpanan tambahan, gunakan disk arahan. Anda dapat meningkatkan jumlah penyimpanan sementara yang dialokasikan untuk tugas individual dalam definisi alur kerja Anda, hingga maksimum 3.072 GiB per tugas. Anda ditagih untuk penyimpanan di atas default 16 GiB.
Penyimpanan sementara dapat dikonfigurasi dengan penambahan 16 GiB. Untuk informasi selengkapnya, lihat Ukuran yang didukung.
Penyimpanan singkat untuk instans komputasi yang dipercepat
Kapasitas penyimpanan instans GPU ditetapkan per jenis instans dan disediakan tanpa biaya tambahan.
Tugas GPU selalu menggunakan penyimpanan sementara NVMe lokal. scratchStorageModePengaturan pada StartRun tidak berlaku untuk tugas GPU dan menyetel nilai ini tidak SHARED akan berpengaruh pada instance GPU. Kapasitas tetap per jenis instans dan tidak dapat disesuaikan menggunakan disk arahan. Kapasitas NVMe ditentukan sebelumnya oleh jenis instans yang dipilih untuk tugascpu,memory, dan persyaratan. acceleratorType
| Size | GPU | vCPU | Memori (GiB) | G4dn NVMe (T4) | G5 NVMe (A10G) | G6 NVMe (L4) | G6e NVMe (L40S) |
|---|---|---|---|---|---|---|---|
| xlarge | 1 | 4 | 16 | 125 GiB | 250 GiB | 250 GiB | 250 GiB |
| 2xlarge | 1 | 8 | 32 | 225 GiB | 450 GiB | 450 GiB | 450 GiB |
| 4xlarge | 1 | 16 | 64 | 225 GiB | 600 GiB | 600 GiB | 600 GiB |
| 8xlarge | 1 | 32 | 128 | 900 GiB | 900 GiB | 900 GiB | 900 GiB |
| 12xlarge | 4 | 48 | 192 | 900 GiB | 3,800 GiB | 3,760 GiB | 3,800 GiB |
| 16xlarge | 1 | 64 | 256 | 900 GiB | 1,900 GiB | 1,880 GiB | 1,900 GiB |
| 24xlarge | 4 | 96 | 384 | — | 3,800 GiB | 3,760 GiB | 3,800 GiB |
Mengkonfigurasi ukuran penyimpanan sementara
Bila scratchStorageMode disetel keLOCAL, Anda dapat meminta peningkatan penyimpanan sementara per tugas menggunakan disk direktif (atau setara) dalam definisi alur kerja Anda. HealthOmics memperlakukan disk arahan sebagai petunjuk dan memberikan volume yang dibulatkan ke 16 GiB berikutnya. Penggunaan disk direktif tidak mempengaruhi pemilihan tipe instance. Jenis instans dipilih hanya berdasarkancpu,memory, danacceleratorType. Untuk informasi selengkapnya, lihat Sumber daya tugas dalam definisi HealthOmics alur kerja.
Jika tidak ada disk arahan, tugas menerima default 16 GiB. Tugas tidak dapat memiliki kurang dari penyimpanan sementara default.
Anda tidak perlu mengukur penyimpanan sementara Anda untuk gambar kontainer yang ditarik, yang diperhitungkan secara terpisah. Untuk informasi selengkapnya, lihat Gambar kontainer untuk alur kerja pribadi.
Kapan menggunakan direktif disk
Gunakan disk direktif dalam definisi tugas Anda ketika penyimpanan singkat default untuk jenis instans yang Anda pilih tidak cukup untuk persyaratan tugas Anda. Misalnya, ketika tugas menulis volume besar data ke/tmp.
Kasus penggunaan umum untuk peningkatan penyimpanan sementara
-
RNA-Seq Deteksi Fusion: RNA-seq alur kerja menghasilkan BAM perantara yang besar dan proses tugas sering kali membutuhkan FastQ mentah dan output yang selaras untuk hadir secara bersamaan, membutuhkan disk awal yang besar (misalnya, 512 GiB per tugas).
-
De Novo Genome Assembly: alur kerja Long-read perakitan membutuhkan volume awal yang besar untuk memproses pembacaan mentah dan artefak perakitan sementara yang berulang kali ditulis ulang dan ditata ulang sebelum keluaran. Tugas-tugas ini intensif memori dan disk, terkadang membutuhkan beberapa TiB penyimpanan singkat.
-
Pemanggilan varian/pemrosesan BAM: Alur kerja panggilan varian memerlukan penyimpanan awal yang substansif untuk langkah penyelarasan dan penyortiran yang berulang kali membaca dan menulis ulang file BAM atau CRAM besar. Kebutuhan penyimpanan sementara biasanya ratusan GiB.
Sintaks direktif oleh mesin
Tabel berikut menunjukkan direktif setara untuk setiap bahasa alur kerja.
| Engine | Direktif | Contoh |
|---|---|---|
| WDL 1.1 | disks |
disks: "/tmp 700 GiB" |
| Nextflow | disk |
disk '700 GB' |
| CWL | tmpdirMin |
tmpdirMin: 716800(nilai dalam MiB) |
Contoh berikut menunjukkan cara mengonfigurasi tugas yang meminta penyimpanan sementara 700 GiB. HealthOmics membulatkan ini ke tingkat 704 GiB.
Untuk informasi selengkapnya tentang sintaks direktif yang didukung, lihat Spesifikasi definisi alur kerja WDL dan. Spesifikasi definisi alur kerja alur berikutnya
Alat bioinformatika umum dan penyimpanan fana
Banyak alat bioinformatika menulis file sementara besar selama eksekusi. Ketika scratchStorageMode disetel keLOCAL, arahkan ulang alat ini untuk digunakan /tmp sehingga goresan I/O masuk ke volume lokal yang cepat alih-alih sistem file run bersama. Contoh berikut menunjukkan bendera yang relevan untuk alat yang umum digunakan.
Ukuran yang didukung
Ukuran yang diminta dibulatkan ke kenaikan 16 GiB terdekat, mulai dari default 16 GiB (16, 32, 48, 64,... hingga 3.072 GiB). Ukuran maksimum yang didukung adalah 3.072 GiB per tugas.
Jika ukuran yang diminta melebihi 3.072 GiB, berikan HealthOmics 3.072 GiB dan tulis peringatan ke log run. Tugas tidak secara otomatis gagal.
catatan
Untuk disk arahan berbasis ekspresi — seperti penutupan Nextflow atau ekspresi WDL seperti — nilainya dievaluasi saat runtime, disks: ceil(size(input_bam, "GiB") * 2.5) bukan pada. CreateWorkflow Jika ukuran yang dievaluasi melebihi 3.072 GiB, tugas gagal saat runtime dan biaya komputasi yang dikeluarkan hingga saat itu dibebankan.
Formulir disk WDL yang didukung
Untuk daftar lengkap disks formulir WDL yang diterima, lihat. Formulir disk WDL yang didukung
Menggunakan direktif awal Nextflow
Untuk alur kerja Nextflow, Anda dapat menggunakan scratch direktif untuk mengontrol di mana proses menulis file kerja sementara. Untuk informasi tentang nilai yang didukung dan penggunaan yang disarankan dengan penyimpanan sementara, lihat. Menggunakan penyimpanan awal secara efisien di Nextflow
Memantau penyimpanan fana
HealthOmics menulis metrik penyimpanan singkat per tugas ke log manifes. CloudWatch Metrik mencakup data penyimpanan sementara per tugas dari ukuran volume yang disediakan (asscratchStorageReservedGiB) dan penggunaan (as) untuk setiap tugas. scratchStorageUtilizedGiB Tinjau log manifes untuk menentukan apakah tugas terlalu banyak atau kurang disediakan tanpa melakukan kueri secara langsung. CloudWatch Untuk detail tentang log manifes, lihatPemantauan HealthOmics dengan CloudWatch Log.
Bagaimana penyimpanan fana ditagih
Anda ditagih hanya untuk penyimpanan sementara yang disediakan di atas alokasi default. Permintaan di atas default dalam disk arahan Anda dibulatkan ke tingkat dukungan terdekat.
Instans GPU memiliki penyimpanan sementara yang sudah diperhitungkan dalam harga instans. Tidak ada biaya tambahan untuk penyimpanan sementara pada tugas GPU.
Pertimbangan dan batasan
| Pertimbangan | Detail |
|---|---|
| Penyimpanan sementara tidak persisten | Volume penyimpanan sementara selalu dihapus saat tugas berakhir. Data dalam tidak /tmp disimpan, diekspor, atau tersedia untuk tugas atau proses berikutnya. /tmpData dalam penyimpanan sementara tidak dapat berupa output tugas atau output alur kerja; ini akan mengakibatkan kegagalan saat runtime. |
| Penyimpanan sementara tidak dibagikan di seluruh tugas | Setiap tugas menerima volume penyimpanan fana yang terisolasi sendiri. Tugas tidak dapat mengakses /tmp direktori satu sama lain. Data yang harus dibagi antar tugas harus ditulis ke sistem file run bersama. |
| Penyimpanan tidak dapat diubah ukurannya di tengah tugas | Ukuran penyimpanan ditetapkan pada saat tugas dimulai. Anda tidak dapat menambah atau mengurangi penyimpanan yang dialokasikan saat tugas sedang berjalan. |
| Working-directory goresan tidak dialihkan secara otomatis | Alur kerja yang menulis awal ke direktori kerja — misalnya,, input/./, atau out/ — tidak mendapat manfaat secara otomatis. Perbarui alur kerja Anda untuk mengarahkan goresan I/O ke /tmp atau. $TMPDIR |
Data goresan tidak ditulis /tmp seperti yang diharapkan |
Pastikan proses tugas Anda menulis secara eksplisit /tmp dan bahwa perintah tugas Anda belum dipetakan $TMPDIR ke lokasi lain. |
| Instans GPU selalu menggunakan penyimpanan sementara | Tugas GPU selalu dipasang /tmp di toko instance NVMe lokal. Pengaturan scratchStorageMode untuk SHARED tidak menonaktifkan penyimpanan sementara untuk tugas GPU. |
| Instans GPU: Kapasitas NVMe diperbaiki | Ukuran disk khusus tidak didukung pada instance GPU. HealthOmics mengabaikan disk arahan dan menyediakan kapasitas NVMe default untuk jenis instance. |
| Maksimum 3.072 GiB per tugas (CPU) | Permintaan melebihi 3.072 GiB disediakan pada 3.072 GiB dengan peringatan log run. Tugas tidak gagal. |
| Hanya tingkatan yang didukung (CPU) | Ukuran yang diminta dibulatkan ke kenaikan 16 GiB terdekat (16, 32, 48, 64,... hingga 3.072 GiB). |
| Expression-based arahan dievaluasi saat runtime | disknilai yang dihitung dari ekspresi divalidasi pada awal tugas, bukan di. CreateWorkflow Biaya komputasi hingga saat itu dibebankan jika tugas gagal saat runtime. |
SHAREDmode mengabaikan semua arahan disk (hanya CPU) |
scratchStorageModeKapanSHARED,, disktmpdirMin, dan arahan yang setara diabaikan untuk tugas-tugas CPU. Tidak ada volume penyimpanan lokal yang disediakan. Tugas GPU tidak terpengaruh, mereka selalu menggunakan NVMe lokal. |
Memecahkan masalah penyimpanan sementara
Tugas gagal dengan penyimpanan fana yang habis
Sebuah tugas gagal ketika penyimpanan sementara mencapai kapasitas. Tinjau log CloudWatch manifes Anda untuk menentukan berapa banyak penyimpanan yang sebenarnya digunakan tugas Anda, lalu tambahkan atau tingkatkan disk arahan untuk meminta tingkat yang lebih besar.
# Before: 4-vCPU task using the 16 GiB default runtime { cpu: 4 } # After: explicitly request 400 GiB runtime { cpu: 4, disks: "400 GiB" }
Penyimpanan sementara tampaknya tidak digunakan
Panggil GetRun dan periksa scratchStorageMode bidangnya. Jika nilainyaSHARED, penyimpanan sementara tidak diaktifkan untuk proses itu. --scratch-storage-mode LOCALAtur start-run panggilan Anda berikutnya.
aws omics get-run --idrun-id