Migrasikan aplikasi x86 ke instans ECS berbasis Yitian 710 (g8y, c8y, r8y) untuk meningkatkan kinerja komputasi, penyimpanan, dan jaringan.
Latar Belakang
Apa itu instans ECS YiTian?
Instans ECS YiTian adalah instans ECS berbasis arsitektur ARM Yitian 710 yang menggunakan akselerasi fast-path tingkat chip untuk meningkatkan kinerja komputasi, penyimpanan, dan jaringan. Instans ini cocok untuk skenario seperti aplikasi cloud-native, pengkodean dan dekoding video, komputasi kinerja tinggi (HPC), pembelajaran mesin berbasis CPU, dan layanan game.
Keluarga instans berbasis Yitian 710 mencakup g8y, c8y, dan r8y. Untuk tipe instans dan metrik kinerja, lihat:
Mengapa melakukan migrasi?
Instans ECS YiTian menggunakan arsitektur ARM, yang berbeda dari x86. Untuk men-deploy kode sumber x86 pada instans YiTian, Anda harus mengompilasi ulang dan menerapkan optimasi khusus arsitektur.
Langkah-langkah migrasi
Migrasi aplikasi dari x86 ke YiTian melibatkan dua langkah:
-
Persiapan pra-migrasi
Rencanakan sistem operasi, perangkat lunak dasar, dan sumber daya perangkat keras. Periksa kode Anda untuk instruksi assembly atau dependensi perangkat keras khusus x86. Verifikasi versi ARM dari pustaka pihak ketiga dan jalankan pengujian kompatibilitas.
-
Kompilasi dan migrasi perangkat lunak
Instal kompilator dan versi perangkat lunak yang sesuai untuk bahasa pemrograman Anda, lalu kompilasi ulang.
Skema migrasi
Migrasi perangkat lunak biasanya melibatkan dua skenario:
-
Perangkat lunak kode sumber: Perangkat lunak yang Anda kembangkan atau tingkatkan berdasarkan proyek open source. Bahasa-bahasa tersebut terbagi menjadi dua kategori:
-
Bahasa terkompilasi: Bahasa seperti C++ dan Go dikompilasi menjadi biner khusus arsitektur dan memerlukan kompilasi ulang setelah migrasi. Lihat File build Make/CMake dan Migrasi bahasa C/C++.
-
Bahasa terinterpretasi: Bahasa seperti Java dan Python menghasilkan bytecode yang independen terhadap arsitektur dan secara teori dapat dijalankan lintas arsitektur. Namun, jika melibatkan pustaka native—misalnya, aplikasi Java yang memanggil pustaka dinamis C melalui JNI—aplikasi tersebut menjadi bergantung pada arsitektur dan harus dikompilasi ulang. Lihat Migrasi bahasa Java dan Migrasi bahasa Python.
-
-
Perangkat lunak open source: Perangkat lunak yang diunduh dari komunitas open source tanpa modifikasi, atau perangkat lunak yang termasuk dalam ekosistem OS Anda. Sebagian besar perangkat lunak open source sudah mendukung platform ARM YiTian dan dapat diinstal langsung dari manajer paket OS Anda. Lihat Migrasi perangkat lunak open source.
Prosedur migrasi
Siapkan sumber daya lingkungan yang diperlukan, termasuk instans ECS, sistem operasi, dan perangkat lunak dasar, lalu ikuti prosedur berikut:
Langkah 1: Buat instans ECS YiTian
Lihat Buat instans kustom. Perhatikan parameter berikut:
|
Parameter |
Deskripsi |
|
Instance type |
|
|
Image |
|
Langkah 2: Migrasi perangkat lunak
Tabel berikut mencantumkan versi yang direkomendasikan untuk kompilator, pustaka runtime, dan aplikasi. Instal sesuai kebutuhan.
|
Kategori |
Perangkat Lunak |
Versi yang direkomendasikan |
Deskripsi |
|
Compiler |
GCC |
gcc 10.2.1 |
Gunakan GCC 10 atau versi lebih baru untuk peningkatan kinerja signifikan. |
|
LLVM |
LLVM 13/clang 13 |
|
|
|
Glibc |
glibc 2.32 |
Tidak ada |
|
|
JDK |
Dragonwell 11 atau OpenJDK 11 |
Dragonwell lebih disarankan karena kinerja dan dukungan yang lebih baik. |
|
|
Golang |
go 1.18+ |
SDK Go terus dioptimalkan untuk ARM. Gunakan versi terbaru:
|
|
|
Python |
3.8 |
Python 2.7 mencapai EOL pada 1 Januari 2020. Python 3.6 mencapai EOL pada 23 Desember 2022. Gunakan Python 3.7 atau lebih baru. |
|
|
PHP |
7.4+ |
Didukung komunitas |
|
|
Container |
K8s |
K8s 1.22 Containerd 1.5.0+ |
Didukung komunitas |
|
Web application |
Nginx |
Gunakan versi yang disertakan dengan OS. |
Dikelola oleh distributor OS |
|
httpd |
Gunakan versi yang disertakan dengan OS. |
Dikelola oleh distributor OS |
|
|
NodeJS |
Gunakan versi yang disertakan dengan OS. |
Dikelola oleh distributor OS |
|
|
Database |
MySQL |
Gunakan versi yang disertakan dengan OS. |
Dikelola oleh distributor OS |
|
Redis |
Gunakan versi yang disertakan dengan OS. |
Dikelola oleh distributor OS |
|
|
Big data |
Hadoop |
Hadoop 3.3.1 |
Didukung komunitas |
|
Spark |
Spark 3.2 |
Didukung komunitas |
|
|
Hive |
Hive 3.1 |
Didukung komunitas |
|
|
ElasticSearch |
ES 7.12 |
Didukung komunitas |
|
|
Others |
Gromacs |
Versi terbaru |
Didukung komunitas |
|
BWA |
Versi terbaru |
Didukung komunitas |
|
|
Gatk |
4.3.0.0 |
Didukung komunitas |
Langkah 3: Kompilasi dan build
Kompilasi dan build perangkat lunak Anda berdasarkan panduan berikut:
-
Migrasi kode sumber
-
Migrasi perangkat lunak open source
Gunakan perangkat lunak open source seperti Nginx, MySQL, Redis, TensorFlow, dan PyTorch pada instans ECS YiTian.
Referensi
Periksa arsitektur CPU
Jalankan uname -m atau arch untuk memeriksa arsitektur CPU. Output bervariasi tergantung arsitektur:
-
ARM: `aarch64`

-
x86: `x86_64`

Periksa informasi CPU detail
Jalankan lscpu untuk melihat informasi CPU detail. Output bervariasi tergantung arsitektur:
-
ARM:

-
x86:

Periksa informasi OS
Jalankan cat /proc/version untuk memeriksa versi OS dan kompilator. Output bervariasi tergantung arsitektur:
-
x86:

-
ARM:
