2024-01-01ãã1å¹´éã®è¨äºä¸è¦§
ä»åã¯ããã¡ã¤ã«ç®¡çã«ã¾ã¤ããã話ã§ãã
ä»åã¯ãã«ã¼ãã«ã¢ã¸ã¥ã¼ã«æ©è½ãè¦ã¦è¡ãã¾ãã Linuxã«ã¼ãã«ã¯ãæ©è½ã®ä¸é¨ãã«ã¼ãã«ã¢ã¸ã¥ã¼ã«ã¨ãã¦çæããå¿ è¦ã«å¿ãã¦çµã¿è¾¼ãæ¹å¼ãæ¡ç¨ãã¦ãã¾ããããããã©ã®ãããªä»æãã§å®ç¾ãã¦ããã解説ãã¾ãã
ä»åã¯ããã±ããåä¿¡å¦ç ï½Ethernetãã©ã¤ã æ¦è¦ç·¨ï½ã®3ç« ããã¼ãªã³ã°ãã³ãã©(NAPI)ã«ããåä¿¡å¦çãã§è§£èª¬ãããã¼ãªã³ã°ãã³ãã©ã®å¦çãæ·±å ãã¾ãã
ä»åããæ°åã«åãã¦ãã¿ã¹ã¯ã¹ã±ã¸ã¥ã¼ã©ã«ã¤ãã¦è§£èª¬ãã¾ããä»åã¯ãåºæ¬çãªæ¦å¿µãå ¨ä½åãä¸å¿ã¨ããã話ã§ãã
ä»åã¯ãååã®ç¶ãã§ãã«ãããã»ã¹ã«ã¾ã¤ããã話ã§ãã
ä»åã¯ããã¤ã¹(NIC)ããã±ãããåä¿¡ãããã±ãããIPã¬ã¤ã¤ã¼ã«æ¸¡ãã¾ã§ã®éç¨ã解説ãã¾ãã
é£è¼ãRISC-V OSãä½ãããã§ä½ã£ã¦ããOS(Sophia OS)ããLinux KVMä¸ã®ã²ã¹ãOSã¨ãã¦åããã¦ã¿ã¾ãããï¼
NVLINK Bridgeã§æ¥ç¶ãã2å°ã®RTX6000 GPUãFalcon 4205 ãä»ãã¦2å°ã®1Uãµã¼ãããæ¥ç¶ã㦠LLM + RAG ãåä½ãããå®é¨ã§ãã
ä»åã¯CPUã®å¹ççãªæ´»ç¨ãç®æãããã«ãããã»ã¹ãããã¹ã±ã¸ã¥ã¼ãªã³ã°ãã«ã¾ã¤ããã話ã§ãã
ãRISC-V OSãä½ãããã®çªå¤ç·¨ã¹ã¿ã¼ãã§ãï¼ RISC-V ã®ãã¤ãã¼ãã¤ã¶ã¼æ¡å¼µæ©è½ (Hypervisor Extension) ã使ã£ã¦ãå®éã«åä½ããå°ããªãã¤ãã¼ãã¤ã¶ã¼ãå®è£ ããåããã¦ã¿ã¾ãããã
æ¬ç¨¿ã§ã¯ãLinuxã®æä»å¶å¾¡ã®ä»çµã¿ã§ããèªã¿æ¸ãã¹ãã³ããã¯(RWããã¯)ã¨RCUã«ã¤ãã¦ãnetfilterã«ãããæä»å¶å¾¡ãå ·ä½ä¾ã¨ãã¦ãå®éã«Linuxã§ã©ã®ããã«ä½¿ããã¦ããã®ãã解説ãã¾ãã
ããã¾ã§ã®é£è¼ã§ã¯ããã¢ã¡ã¿ã«ä¸ã§ç´æ¥RISC-V OSãåããä»çµã¿ã解説ãã¦ãã¾ãããä»åã¯ãRISC-V OSãã¢ãã¿ããã°ã©ã OpenSBIã®ä¸ã§åä½ãããæ¹æ³ãè¦ã¦ããã¾ããRISC-V OSã¯ã¹ã¼ãã¼ãã¤ã¶ã¼ã¢ã¼ãã§ã®åä½ã¨ãªãã¾ãã
ä»åã¯ä»®æ³ç©ºéãå·¡ãã話ã§ããä»®æ³ç©ºéã¨ãããã®ã¯ãOSãèªãä¸ã§å¤ããªããã®ã§ãã®ã§ãæ¬ç¨¿ãä»®æ³ç©ºéãç解ããããã®å©ãã«ãªãã°å¹¸ãã§ãã
ååã¯RISC-V OSããã«ã³ãã¢OSã¨ãã¦ç«ã¡ä¸ããã¨ããã解説ãã¾ããã ä»åã¯ãRISC-V OSããã«ãã³ã¢ãæèããã¿ã¹ã¯ã¹ã±ã¸ã¥ã¼ãªã³ã°ãè¡ãªãä»çµã¿ãè¦ã¦ããã¾ãã
ååã¾ã§ã¯ãã·ã³ã°ã«ã³ã¢ç°å¢ãåæã«ããOSå®è£ ãè¦ã¦ãã¾ããããä»åããRISC-V OSããã«ãã³ã¢ç°å¢ã«å¯¾å¿ããã¾ããã³ã¢ãè¤æ°ã«ãªãã¨ãè¤æ°ã®ã³ã¢ãåæã«ã²ã¨ã¤ã®ãã¼ã¿æ§é ãæä½ãããã¨ãããã¨ãããã¾ããOSã¯è¤æ°ã³ã¢ããåææä½ãè¡ããã¦ãâ¦
OSã®éçºããã¦ããã¨ãå¿ ç¶çã«ã·ã¹ãã ã³ã¼ã«ã使ç¨ããããã°ã©ã ãä½æãããã¨ã«ãªãã¾ãã誰ããå§ããã¦ã®é ã¯ãfork(2)ã·ã¹ãã ã³ã¼ã«ãä¸æè°ã«æãã®ã§ã¯ãªããã¨æãã¾ãã forkã®å¾©å¸°å¤ã親ã¨åã§éã£ã¦ãã¦ãããã§èªåã親ãåããåºå¥ã§ããâ¦
æ¬ç¨¿ã§ã¯ãã¿ã¹ã¯ã®åãæ¿ãã«ä¼´ãã¬ã¸ã¹ã¿ã®åãæ¿ãå¦çã®å ãåç·¨ (7æ11æ¥å ¬é: https://valinux.hatenablog.com/entry/20240711) ã§ã¯è§£èª¬ããããªãã£ãé¨åã«ã¤ãã¦è§£èª¬ãã¾ãã
ååã®è¨äºã§ã¯ããã¼ã¿æ§é ã¨ã¨ãã«ã½ã±ããæä½å¦çã®æµããè¦ã¦ãã¾ããã æ¬ç¨¿ã§ã¯ãsocket(2)ã·ã¹ãã ã³ã¼ã«ã«ãã£ã¦ãããã®å種ãã¼ã¿æ§é ãã©ã®ããã«çæãããé¢é£ã¥ãããã¦ããã®ããè¦ã¦ããããã¨æãã¾ãã
OSãã©ããªãã®ã§ããããç解ããããã®èæ¯ã¨ãªãç¥èãåå¼·ã®åèã«ãªãæ å ±ãã話ããã¦ãããã¨æã£ã¦ãã¾ãã調ã¹ãã®ã¨ããããéè«ã«è¿ããã®ã§ãã®ã§ãæ°æ¥½ã«èªãã§é ããã°è¯ããã¨æãã¾ãããã®ä¸ã§ãä½ããã®åèã«ãªãã°å¹¸ãã§ãã
ãã¼ã«ã«LLMã¨RAGãç¨ãã¦èªåã®å¤é¨è¨æ¶ã«ããããã¨è³ªåã§ããããã«ããæ¹æ³ãå ¥éçã«ç´¹ä»ãã¾ãã
æ¬ç¨¿ã§ã¯ãæ§ç1ç« ã§è§£èª¬ããã¦ãããããã»ã¹ã¹ã±ã¸ã¥ã¼ãªã³ã°ãã®å ãããã»ã¹ãã£ã¹ãããã£(ã¿ã¹ã¯ã®åãæ¿ãå¦ç)ã«ã¤ãã¦ãã«ã¼ãã«v6.8/x86_64ã®ã³ã¼ãããã¼ã¹ã«è§£èª¬ãã¾ãã
ããã£ã¹ã¢ã°ãªã²ã¼ãããã³ã³ãã¥ã¼ãã£ã³ã°ãé¢é£ã®YouTubeè¬æ¼ãæç³»åã«ç´¹ä»ããgithubããã¸ã§ã¯ããä½ãã¾ããã æ¬ç¨¿ã§ã¯ãRAGæè¡ã§ä¸è¿°ã®CDI Infoããã¸ã§ã¯ãã®æ å ±ããã¼ã«ã«LLMã®ç¥èã¨ãã¦ä¸ããããã£ã¹ã¢ã°ãªã²ã¼ãããã³ã³ãã¥ã¼ãã£ã³ã°ãâ¦
ç©çã¡ã¢ãªãã¢ããªã±ã¼ã·ã§ã³ç¨ (ã¦ã¼ã¶ã¢ã¼ãç¨) ã¨ã«ã¼ãã«ç¨ (ãã·ã³ã¢ã¼ãç¨) ã®2ã¤ã«åå²ããã¢ããªã±ã¼ã·ã§ã³ããã¯ã«ã¼ãã«ç¨ã®ã¡ã¢ãªåãåç §ã§ããªãããã«ã¡ã¢ãªä¿è·è¨å®ãè¡ãªã£ã¦ã¿ã¾ãããã
ã«ã¼ãã«v6.8ã®ã³ã¼ãããã¼ã¹ã«ããããã³ã«ãã¨ã«ç°ãªãå¦çãã½ã±ãããã©ã®ããã«æ½è±¡åãã¦ããã®ããã¾ãã½ã±ããããªããã¡ã¤ã«ã¨ãã¦æä½ã§ããã®ãã«ã¤ãã¦ããã¼ã¿æ§é ãä¸å¿ã«è§£èª¬ãã¾ãã
ãæ°Linuxã«ã¼ãã«è§£èªå®¤ãããã¸ã§ã¯ãã®æ¬ç¨¿ã§ã¯ããã¼ãå²ãè¾¼ã¿ãçºçãã¦ããã½ããå²ãè¾¼ã¿å¦çãå®è¡ãããã¾ã§ã®æµãããå®è¡ã³ã³ããã¹ãã®åãæ¿ããã追ããããªããã«ã¼ãã«v6.8ã®ã³ã¼ãããã¼ã¹ã«ç´¹ä»ãã¾ãã
VA Linuxã®è¥ææè¡è ãä¸å¿ã¨ãªããææ°ã®Linuxã«ã¼ãã«ã³ã¼ãå ¨ä½ãèªã¿è§£ãããã¸ã§ã¯ããé²è¡ä¸ã§ãã解æããã³ã¼ãã®ãã¡èå³ãæ¹ããããã®ãéè¦ãããªãã®ãä¸å¿ã«ããã°è¨äºã«ã¾ã¨ãã¦ããã¾ãã®ã§ã©ããã楽ãã¿ã«ï¼
ååã¯ãã»ããã©ã«ããåææ©æ§ãå®ç¾ãã¦ã¿ã¾ããã ä»åã¯ãã¢ããªã±ã¼ã·ã§ã³ã®ã³ã¼ããã¦ã¼ã¶ã¢ã¼ãã§ãOSã³ã¼ãããã·ã³ã¢ã¼ãã§åä½ããã¦ã¿ã¾ãããã
Kubernetes ã® CNI (Container Network Interface) ãã©ã°ã¤ã³ã®ä¸ã¤ã§ãã Cilium ã«ã¯ãSecurity ã Observability ãªã©å¹ åºãæ©è½ããããã¨ãããã£ãã®ã§ãå®éã« Cilium ã® Monitoring Metrics ã®æ©è½ã試ãã¦ã¿ã¾ããã
ããã£ã¹ã¢ã°ãªã²ã¼ãããã³ã³ãã¥ã¼ãã£ã³ã°ãï¼ãä¸æ¬¡è¨æ¶ã®å ±æãã¨ããå´é¢ã«æ³¨ç®ããç»å ´ãã¤ã¤ãããã¯ããã¸ãè°è«ããã¦ãããã®ã¦ã¼ã¹ã±ã¼ã¹ã調æ»ããããã«ãYouTube ã§å ¬éããã¦ããè¬æ¼ 174 æ¬ãè¦è´ãã¾ããã ãã®éç¨ã§ãç¥èªãå¤ãç»å ´ãâ¦
ããã£ã¹ã¢ã°ãªã²ã¼ãããã³ã³ãã¥ã¼ãã£ã³ã°ãã¨ã¯ä½ã? (4) ã§è¨åããç¥èªãªã¹ãã§ãã