x86 ¼¹ö¿¡¼ Arm ¼¹ö·Î ÀÌÀüÇÒ ¶§´Â
´ÙÀ½ÀÇ »çÇ×µéÀ» °í·ÁÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
1. ¼ÒÇÁÆ®¿þ¾î ȣȯ¼º
1-1. ¿î¿µÃ¼Á¦
Áö¿ø ¿©ºÎ
´ëºÎºÐÀÇ Linux ¹èÆ÷ÆÇ¿¡¼´Â Arm ¾ÆÅ°ÅØÃ³¸¦ Áö¿øÇÕ´Ï´Ù.
¹èÆ÷ÆÇÀ̶õ? Ubuntu, Rocky, Suse Linux µî
Distributionº° Â÷ÀÌ
Ä¿³Î ¹öÀü, ±âº» ÆÐŰÁöÀÇ aarch64 Æ÷ÆÃ ¿©ºÎ È®ÀÎÀÌ ÇÊ¿äÇÕ´Ï´Ù.
¼³Ä¡ °¡´ÉÇÑ ÆÐŰÁöÀÇ ¼ö°¡ x86 ¾ÆÅ°ÅØÃ³º¸´Ù ÀûÀ» ¼ö ÀÖ½À´Ï´Ù.
1-2. ¾ÖÇø®ÄÉÀ̼Ç
¼µåÆÄƼ ¼Ö·ç¼Ç
»ó¿ë ¼ÒÇÁÆ®¿þ¾î´Â Arm ¾ÆÅ°ÅØÃ³ÀÇ Áö¿ø ¿©ºÎ¸¦ ¹Ýµå½Ã »çÀü¿¡ È®ÀÎÇÏ¿©¾ß ÇÕ´Ï´Ù.
DBMS, ¹Ìµé¿þ¾îÀÇ Arm¿ë ¹ÙÀ̳ʸ® ¹× ¼Ò½º À¯¹«ÀÇ È®ÀÎÀÌ ÇÊ¿äÇÕ´Ï´Ù.
ÀÚü °³¹ß ¼ÒÇÁÆ®¿þ¾î
C/C++¿¡¼´Â -march=armv8-a µî Å©·Î½º ÄÄÆÄÀÏ ¿É¼ÇÀÌ ÇÊ¿äÇÕ´Ï´Ù.
Java¿¡¼´Â JNI/Native libraryÀ» Arm ¾ÆÅ°ÅØÃ³¿ëÀ¸·Î ´Ù½Ã ÄÄÆÄÀÏÀÌ ÇÊ¿äÇÕ´Ï´Ù.
Python¿¡¼´Â C-extension »ç¿ë ½Ã Arm ¾ÆÅ°ÅØÃ³¿ë ºôµå°¡ ÇÊ¿äÇÕ´Ï´Ù.
2. ºôµå ¹× ¹èÆ÷ ȯ°æ º¯°æ
2-1. ¸ÖƼ ¾ÆÅ°ÅØÃ³ Áö¿ø
Docker¿¡¼´Â buildx + --platform linux/arm64 »ç¿ëÀÌ ÇÊ¿äÇÕ´Ï´Ù.
CI/CD¿¡¼´Â Arm ¾ÆÅ°ÅØÃ³¿ë ½ÇÇà ±¸¼ºÀÌ ÇÊ¿äÇÕ´Ï´Ù. (e.g. GitHub Actions + QEMU)
2-2. Å©·Î½º ÄÄÆÄÀÏ
CMake, Bazel, Make µî¿¡¼´Â Arm ¾ÆÅ°ÅØÃ³¿ë toolchainÀÇ ¼³Á¤ÀÌ ÇÊ¿äÇÕ´Ï´Ù.
Golang¿¡¼´Â GOARCH=arm64 ºôµå°¡ ÇÊ¿äÇÕ´Ï´Ù.
Node.js¿¡¼´Â Arm ¾ÆÅ°ÅØÃ³¿ë ºôµå°¡ ÇÊ¿äÇÕ´Ï´Ù.
3. ¿î¿µ ȯ°æ
3-1. °¡»óÈ Áö¿ø
KVM, Docker¸¦ ¹®Á¦ ¾øÀÌ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
QEMU¿¡¼´Â ÀϺΠ¼º´É ÀúÇϰ¡ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù.
VMWare ESXi´Â Á¦ÇÑÀûÀ¸·Î »ç¿ë °¡´ÉÇÕ´Ï´Ù.
3-2. ¸ð´ÏÅ͸µ ¹× ½Ã½ºÅÛ µµ±¸
Ipmitool, Perf, Turbostat µî ÀϺΠµµ±¸¸¦ Á¦ÇÑÀûÀ¸·Î Áö¿øÇÕ´Ï´Ù.
4. ¶óÀ̼±½º ¹× »ó¿ë ¼Ö·ç¼Ç
Arm ¾ÆÅ°ÅØÃ³¸¦ Áö¿øÇÏÁö ¾Ê´Â ¼ÒÇÁÆ®¿þ¾î°¡ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù.