Simulasi dinamika plasma kami sering menghasilkan terlalu banyak informasi. Selama simulasi, kami merekam berbagai properti fisik pada kisi (x, y, z, t) yang sebesar (8192x1024x1024x1500), untuk setidaknya 10 properti. Informasi ini diproses setelah simulasi selesai. Dengan itu kita
- membuat film properti,
- melakukan analisis Fourier,
- menghitung properti rata-rata.
Pembuangan informasi sebanyak mungkin ini bekerja dengan baik ketika kami mempelajari sistem yang lebih kecil. Ini memberi kami fleksibilitas untuk berinteraksi dengan hasil dan memutuskan nanti apa yang ingin kami lakukan dengannya. Itu juga memungkinkan kami untuk membagikan sumber daya komputasi kami (waktu CPU) untuk hanya menjalankan simulasi.
Kami telah memulai proses melakukan analisis Fourier dengan cepat, dan memfilter hanya untuk rentang skala panjang tertentu. Untuk alasan numerik, kita terkadang perlu menyelesaikan skala panjang yang lebih kecil dari yang sebenarnya kita minati, jadi dalam kasus tersebut, filter ini sangat membantu. Kami juga mengeksplorasi berbagai pustaka IO paralel, misalnya opsi I / O Paralel, khususnya HDF5 paralel .
Strategi apa yang tersedia untuk memaksimalkan efisiensi pemrosesan data?
Apakah ada manfaat untuk melakukan semua analisis (tidak termasuk pemrosesan pasca, misalnya film dan plot) sambil jalan?
Saya bisa membayangkan masalah ini muncul di bidang penelitian lain. Misalnya, Anda mungkin memiliki simulasi dinamika molekuler yang perlu berevolusi untuk waktu yang lama, tetapi Anda tertarik pada momen singkat ketika sesuatu yang menarik sedang terjadi. Atau dalam CFD, pengembangan waktu awal mungkin lambat, tetapi begitu turbulensi terjadi, Anda mungkin memerlukan resolusi waktu yang lebih tinggi untuk memantau dinamika.
Apakah ada contoh pengumpulan hasil canggih yang tersedia secara bebas dari simulasi?
Jawaban:
Saya pikir Anda mungkin harus membagi output Anda agar sesuai dengan target Anda:
Ini berarti cukup banyak pekerjaan untuk memiliki keluaran khusus alih-alih yang umum tapi ini harus membantu menjaga biaya dan ukuran. Semoga ini membantu !
Satu hal lagi yang ingin saya tambahkan, secara umum, resolusi penuh dari data hanya diperlukan untuk me-restart file, yaitu file untuk memulai kembali simulasi Anda. Anda tidak perlu banyak dari ini untuk simulasi yang diberikan (katakanlah 100, sehingga jika sesuatu terjadi antara 2 restart Anda kehilangan paling banyak 1% dari perhitungan Anda), sedangkan Anda mungkin ingin meningkatkan frekuensi output untuk Anda film. Dan Anda dapat melakukannya hanya pada 1/64 resolusi misalnya (1 setiap 4 poin di setiap arah).
sumber
Saya pikir master saat ini dari seni ini adalah eksperimen fisika partikel besar (saya paling akrab dengan CDF dan D0 karena saya sudah tua dan bekerja di University of Chicago). Mereka memiliki pemicu perangkat keras yang membuang petabyte (atau lebih) setahun. Namun, ini adalah keseluruhan subjek kuantisasi / diskritisasi, atau "membuang hanya apa yang tidak Anda butuhkan". Saya tidak yakin Anda bisa memberikan jawaban yang masuk akal secara umum. Akan lebih baik untuk mempersempit masalah menjadi sesuatu seperti, "Saya memiliki simulasi PDE diskrit dengan cara berikut dan ingin secara efisien downsample".
sumber
Peter LePage cukup terkenal di kalangan kisi-QCD karena menyarankan metode di mana kisi-kisi besar yang tidak layak dapat dikurangi dengan menemukan dan menerapkan solusi analitik rentang pendek yang baik.
Ini kira-kira sama dengan memperhatikan bahwa satu set splines yang dipilih dengan baik dapat memungkinkan integrasi yang akurat dengan simpul yang lebih sedikit daripada metode trapesium (kecuali bahwa dalam kasus Anda, Anda bisa memanfaatkannya lebih dari empat dimensi sekaligus).
Hasilnya adalah Anda menukar ukuran mentah kumpulan data dengan perhitungan yang lebih banyak per node - langkah, tetapi keluar pada akhirnya karena dimensi tinggi dari masalah Anda.
Saya bukan subjek yang saya kenal cukup baik untuk memberikan petunjuk yang layak, tetapi telah berhasil di beberapa bidang di masa lalu.
sumber
Pertanyaannya agak luas, jadi saya akan memberikan jawaban yang samar-samar yang menunjukkan kemungkinan teknik dalam kasus tersebut.
1) Pemrosesan langsung, yang sudah Anda kerjakan. Salah satu cara untuk melakukan pemrosesan sambil jalan namun memisahkannya dari langkah penghasil data adalah dengan menghasilkan file keluaran siklik yang selalu berisi langkah-langkah N terakhir, dan menjalankan analisis dalam proses terpisah. Jelas Anda harus menyinkronkan keduanya untuk mencegah kondisi balapan.
2) Memilih data yang disimpan lebih hati-hati. Sayangnya, ini sangat spesifik untuk situasi tertentu.
3) Kompres data Anda sebelum menyimpannya, atau gunakan perpustakaan penyimpanan dengan opsi kompresi terintegrasi, seperti HDF5.
4) Simpan pos-pos pemeriksaan biasa, bukan output penuh. Jika Anda menyimpan pos pemeriksaan penuh setiap langkah N, yaitu cukup data untuk memulai kembali simulasi dari sana, Anda dapat merekonstruksi data yang hilang dengan cara yang sangat paralel jika dan bila perlu. Perhatikan bahwa dalam kasus metode Monte-Carlo, pos pemeriksaan harus menyertakan keadaan generator nomor acak. Anda sebenarnya dapat mempertimbangkan ini sebagai teknik kompresi yang sangat spesifik untuk aplikasi.
sumber