æœ€æ–°ăźă‚ȘăƒšăƒŹăƒŒăƒ†ă‚Łăƒłă‚°ă‚·ă‚čăƒ†ăƒ ïŒšé–‹ç™șè€…ăŒçŸ„ăŁăŠăŠăăčきこべ

ă‚ąăƒŹă‚Żă‚”ăƒłăƒ€ăƒŒăƒ»ă‚ŻăƒȘă‚¶ăƒŽăƒ•ă‚čă‚­ăƒŒïŒˆ NatSys Lab。 


ă‚ąăƒŹă‚Żă‚”ăƒłăƒ€ăƒŒăƒ€ăƒ»ă‚ŻăƒȘă‚¶ăƒŽăƒ•ă‚čă‚­ăƒŒ

ä»Šæ—„ă€ç§ăŸăĄăŻă‚ȘăƒšăƒŹăƒŒăƒ†ă‚Łăƒłă‚°ă‚·ă‚čăƒ†ăƒ ă«èˆˆć‘łă‚’æŒăĄăŸă™-ăăźć†…éƒšă€ăă“ă§äœ•ăŒè”·ă“ăŁăŠă„ă‚‹ăźă§ă—ă‚‡ă†ă‹...ç§ăŸăĄăŒçŸćœšć–ă‚Šç”„ă‚“ă§ă„ă‚‹ă‚ąă‚€ăƒ‡ă‚ąă‚’ć…±æœ‰ă—ăŸă„ăšæ€ă„ăŸă™ă€‚

ç§ăźæ„èŠ‹ă§ăŻă€æœ€æ–°ăźOSはæ‚Șいこべです。




ćźŸéš›ă«ăŻă€ć†™çœŸăŻNetmapă‚”ă‚€ăƒˆăźă‚°ăƒ©ăƒ•ă‚’ç€șă—ăŠă„ăŸă™ïŒˆă“ă‚ŒăŻă€ăƒăƒƒăƒˆăƒŻăƒŒă‚Żă‚ąăƒ€ăƒ—ă‚żăƒŒăƒ‘ă‚±ăƒƒăƒˆă‚’éžćžžă«èż…é€Ÿă«ă‚­ăƒŁăƒ—ăƒăƒŁă—ăŠé€äżĄă§ăă‚‹ă‚źă‚șăƒąă§ă™ïŒ‰ă€‚ ă“ăźć›łăŻă€æœ€ć€§3 GHzぼ異ăȘるクロック速ćșŠă‚’æŒă€ć˜äž€ă‚łă‚ąă§ă€Netmapが10 Gbps-1秒あたり1400äž‡ăƒ‘ă‚±ăƒƒăƒˆă‚’èš±ćŻă™ă‚‹ă“ăšă‚’ç€șă—ăŠă„ăŸă™ă€‚ すでに500 MHză§ć‹•äœœă—ăŸă™ă€‚ é’ă„ç·šăŻpktgenです-äž€èˆŹçš„ă«ă€Linuxă‚«ăƒŒăƒăƒ«ć†…ă§æœ€é€Ÿă§ă™ă€‚ これはそぼようăȘもぼです-1ă€ăźăƒ‘ă‚±ăƒƒăƒˆă‚’ć—ă‘ć–ăŁăŠăă‚Œă‚’ă‚ąăƒ€ăƒ—ă‚żăƒŒă«äœ•ćșŠă‚‚é€äżĄă™ă‚‹ăƒˆăƒ©ăƒ•ă‚Łăƒƒă‚Żă‚žă‚§ăƒăƒŹăƒŒă‚żăƒŒă€ă€ăŸă‚Š ă‚łăƒ”ăƒŒă‚‚æ–°ă—ă„ăƒ‘ăƒƒă‚±ăƒŒă‚žăźäœœæˆă‚‚ă‚ă‚ŠăŸă›ă‚“ă€‚ă€ăŸă‚Šă€äž€èˆŹă«äœ•ă‚‚ă‚ă‚ŠăŸă›ă‚“-ćŒă˜ăƒ‘ăƒƒă‚±ăƒŒă‚žă‚’ă‚ąăƒ€ăƒ—ă‚żă«é€äżĄă™ă‚‹ă ă‘ă§ă™ă€‚ ăă—ăŠä»Šă§ăŻă€NetmapïŒˆăƒŠăƒŒă‚¶ăƒŒç©șé–“ă§èĄŒă‚ă‚ŒăŠă„ă‚‹ă“ăšăŻăƒ”ăƒłă‚Żè‰Čた線でç€șă•ă‚ŒăŠă„ăŸă™ïŒ‰ă«æŻ”ăčお性ćč…ă«äœŽäž‹ă—ăŠă„ăŸă™ă€‚ ă—ăŸăŒăŁăŠă€éžćžžă«é«˜é€ŸăȘăƒăƒƒăƒˆăƒŻăƒŒă‚Żă‚ąăƒ—ăƒȘă‚±ăƒŒă‚·ăƒ§ăƒłă§äœœæ„­ă™ă‚‹äșș々は、Netmap、Pdpdk、PF_RINGă«ç§»èĄŒă—ăŸă™ă€‚ăăźă‚ˆă†ăȘæŠ€èĄ“ăŻçŸćœšăŸăă•ă‚“ă‚ă‚ŠăŸă™ă€‚

2ç•Șç›źăźăƒă‚€ăƒłăƒˆăŻă€ăƒ‡ăƒŒă‚żăƒ™ăƒŒă‚čに閹するもたです。 ă“ă‚ŒăŻăƒăƒƒăƒˆăƒŻăƒŒă‚Żă«é–ąă™ă‚‹ă‚‚ăźă§ă‚ă‚Šă€çŸćœšăŻăƒ‡ăƒŒă‚żăƒ™ăƒŒă‚čに閹するもたです。 èȘ°ă‹ăŒăƒ‡ăƒŒă‚żăƒ™ăƒŒă‚čをèȘżăčた栮搈、MMAPă‚’äœżç”šă§ăă‚‹ă“ăšăŒă‚ă‹ă‚Šă€O_DIRECTă‚’äœżç”šă§ăă‚‹ă“ăšăŒă‚ă‹ă‚ŠăŸă™ă€‚ ć€§èŠæšĄăȘăƒ‡ăƒŒă‚żăƒ™ăƒŒă‚čPostgres、MySQL、InnoDBïŒ‰ă§ăŻă€äž»ă«O_DIRECTă‚’äœżç”šă—ăŸă™ăŒă€2007ćčŽă«ăŻLKMLă§è­°è«–ăŒă‚ă‚Šă€O_DIRECTăŻăƒ€ăƒŒăƒ†ă‚Łă‚łăƒŹă‚Żă‚·ăƒ§ăƒłă§ă‚ă‚‹ăšèš€ă‚ă‚ŒăŸă—ăŸăŒă€ă“ă‚ŒăŻèȘ€ă‚Šă§ă™ă€‚ ă‚ȘăƒšăƒŹăƒŒăƒ†ă‚Łăƒłă‚°ă‚·ă‚čăƒ†ăƒ ăźă‚łăƒŒăƒ‰ă€ćŒ·ćŠ›ăȘăƒ‡ăƒŒă‚żăƒ™ăƒŒă‚čăźă‚łăƒŒăƒ‰ă‚’èŠ‹ă‚‹ăšă€ăƒ‡ăƒŒă‚żăƒ™ăƒŒă‚čがそれè‡Șäœ“ăźăŸă‚ă«ć€§ăăȘュヹăƒȘé ˜ćŸŸă‚’ć–ćŸ—ă—ă€çźĄç†ă—ăŠă„ă‚‹ă“ăšăŒă‚ă‹ă‚ŠăŸă™ă€‚ ćœŒć„łè‡Șèș«ăŒăƒšăƒŒă‚žăźăƒ—ăƒŒăƒ«ă‚’äżæŒă—ă€ăƒšăƒŒă‚žă‚’æ“äœœă—ă€ăƒšăƒŒă‚žă‚’æŠŒă—ć‡șă—ă€ç ŽæŁ„ă—ăŸă™ă€‚ ă‚ȘăƒšăƒŹăƒŒăƒ†ă‚Łăƒłă‚°ă‚·ă‚čăƒ†ăƒ ăŒä»źæƒłăƒĄăƒąăƒȘăƒŹăƒ™ăƒ«ă€ăƒ•ă‚Ąă‚€ăƒ«ă‚·ă‚čăƒ†ăƒ ăƒŹăƒ™ăƒ«ăȘă©ă§èĄŒă†ă™ăčお

Linuxは、madviseă‚’äœżç”šă—ăŠäœœæ„­ă™ă‚‹ă‚ˆă†ă«èš€ăŁăŸă€‚ Pyotr ZaitsevăŒć°‹ă­ăŸă—ăŸïŒšă€Œă—ă‹ă—ă€O_DIRECTăȘă—ă§ăŻă©ă†ă‚„ăŁăŠç”Ÿăă‚‹ăźă‹ïŒŸă€ ă„ă€ă©ăźăƒšăƒŒă‚žă«ăƒȘă‚»ăƒƒăƒˆă™ă‚‹ă‹ă‚’çŸ„ă‚‹ćż…èŠăŒă‚ă‚‹ă‹ă‚‰ă§ă™ă€‚ă€ ç­”ăˆăŻă‚ă‚ŠăŸă›ă‚“ă§ă—ăŸă€‚ç§ăŸăĄăŻćŒă˜ă‚ˆă†ă«ç”Ÿăç¶šă‘ăŠă„ăŸă™ă€‚

æŹĄăźăƒă‚€ăƒłăƒˆăŻă€ă‚ąăƒ—ăƒȘă‚±ăƒŒă‚·ăƒ§ăƒłăźăƒ—ăƒ­ă‚°ăƒ©ăƒŸăƒłă‚°æ–čæł•ă§ă™ă€‚ ăƒžăƒ«ăƒă‚čăƒŹăƒƒăƒ‰ăƒăƒƒăƒˆăƒŻăƒŒă‚Żăƒ‡ăƒŒăƒąăƒłă‚’äœœæˆă™ă‚‹ć Žćˆă€é€šćžžă€æŹĄăźèłȘć•ăŒă‚ă‚ŠăŸă™ă€‚ ăƒ—ăƒ­ă‚»ă‚čă€ă‚€ăƒ™ăƒłăƒˆă€ă‚čăƒŹăƒƒăƒ‰ă€ăă“ă§è”·ć‹•ă§ăă‚‹ă‚čăƒŹăƒƒăƒ‰ăźæ•°ă€ć„ă‚čăƒŹăƒƒăƒ‰ăŒć€šæ•°ăźă‚€ăƒ™ăƒłăƒˆă€çŠ¶æ…‹ăƒžă‚·ăƒłă€ă‚čăƒŹăƒƒăƒ‰ă‚’ć‡Šç†ă§ăă‚‹ă‚ˆă†ă«ăƒžă‚·ăƒłçŠ¶æ…‹ă‚’äœœæˆă™ă‚‹æ–čæł•ă€ăŸăŸăŻErlangăźă‚ˆă†ă«ă‚łăƒ«ăƒŒăƒăƒłă‚’äœżç”šă™ă‚‹æ–čæł•ăŻă‚ă‚ŠăŸă™ă‹ïŒŸă€ăȘど これはかăȘă‚Šè€‡é›‘ăȘèłȘ敏です。

「ăȘăœă‚€ăƒ™ăƒłăƒˆăŒæ‚Șă„ă‚ąă‚€ăƒ‡ă‚ąăȘăźă‹ă€ïŒˆRob von BehrenïŒ‰ăšă€ŒSEDAïŒšæĄä»¶ăźæ•ŽăŁăŸă‚čă‚±ăƒŒăƒ©ăƒ–ăƒ«ăȘă‚€ăƒłă‚żăƒŒăƒăƒƒăƒˆă‚”ăƒŒăƒ“ă‚čăźă‚ąăƒŒă‚­ăƒ†ă‚ŻăƒăƒŁă€ïŒˆMatt WelshïŒ‰ăšă„ă†çŽ æ™Žă‚‰ă—ă„èš˜äș‹ăŒă‚ă‚ŠăŸă™ăŒă€ă“ă‚Œă‚‰ăŻćźŒć…šă«çŸ›ç›Ÿă—ăŠă„ăŸă™ă€‚ ă‚čレッド侊ですăčăŠă‚’èĄŒă†ćż…èŠăŒă‚ă‚Šă€æœ€æ–°ăźOSはă‚čăƒŹăƒƒăƒ‰ă§éžćžžă«ă†ăŸăæ©Ÿèƒœă—ă€ćż…èŠăȘæ•°ăźă‚čăƒŹăƒƒăƒ‰ă‚’æäŸ›ă—ă€ăă‚Œă‚‰ă‚’é©ćˆ‡ă«ćŒæœŸă™ă‚‹ăšă™ăčăŠăŒă†ăŸăæ©Ÿèƒœă™ă‚‹ăšèš€ă†äșșă‚‚ă„ăŸă™ă€‚ SEDAは、ç‰čćźšăźæ•°ăźă‚čăƒŹăƒƒăƒ‰ă‚’è”·ć‹•ă—ă€ç‰č漚ぼタă‚čă‚Żé–“ă§ăă‚Œă‚‰ă‚’ć†ćˆ†æ•Łă™ă‚‹ă€ă‚ˆă‚Šé‡ă„ă‚ąăƒŒă‚­ăƒ†ă‚ŻăƒăƒŁă«ă€ă„ăŠè©±ă—ăŸă™ă€‚ă‚čレッドべこれらぼă‚čレッドぼタă‚čクをă‚čă‚±ă‚žăƒ„ăƒŒăƒȘングするためぼかăȘă‚Šè€‡é›‘ăȘăƒĄă‚«ăƒ‹ă‚șăƒ ăŒă‚ă‚ŠăŸă™ă€‚

äž€èˆŹçš„ă«ăŻă€hemoăźć•éĄŒă«ćŻŸć‡Šă™ă‚‹ćż…èŠăŒă‚ă‚Šă€ćźŸéš›ă«ăŻă€Boost.AsioăȘă©ăźäœ•ă‚‰ă‹ăźă‚čトăƒȘăƒŒăƒŸăƒłă‚°ăƒ•ăƒŹăƒŒăƒ ăƒŻăƒŒă‚Żă‚’äœżç”šă™ă‚‹ă‹ă€è‡Șćˆ†ă§æ‰‹äœœæ„­ă§èĄŒă„ă€äœ•ăŒćż…èŠă‹ă‚’è€ƒăˆă‚‹ćż…èŠăŒă‚ă‚ŠăŸă™ă€‚ ăƒ‘ăƒ•ă‚©ăƒŒăƒžăƒłă‚čăŒćż…èŠă§ă™ă€‚ăă‚Œă«ă€ă„ăŠè€ƒăˆă‚‹ćż…èŠăŒă‚ă‚ŠăŸă™ă€‚

ç§ăŸăĄăŻă€ć€šăăźăƒĄăƒąăƒȘă‚ąăƒ­ă‚±ăƒŒă‚żăƒŒăŒć­˜ćœšă™ă‚‹äž–ç•Œă«äœă‚“ă§ă„ăŸă™ă€‚ 簡捘ăȘă‚‚ăźă‚’æ›žăć ŽćˆăŻă€mallocăŸăŸăŻC ++たnewă‚’äœżç”šă—ă€çŸćœšăźçŠ¶æ…‹ăšäœ•ăŒè”·ă“ă‚‹ă‹ă«ă€ă„ăŠăŻè€ƒăˆăŸă›ă‚“ă€‚ 高èČ è·ă«é”ă™ă‚‹ăšă™ăă«ă€jemalloc、hoardă€ăŠă‚ˆăłăăźä»–ăźæ—ąèŁœăźăƒ©ă‚€ăƒ–ăƒ©ăƒȘă‚’ăƒ‰ăƒ©ăƒƒă‚°ă—ć§‹ă‚ă‚‹ă‹ă€ăƒĄăƒąăƒȘă‚ąăƒ­ă‚±ăƒŒă‚żïŒˆSLABă€ăƒ—ăƒŒăƒ«ăȘă©ïŒ‰ă‚’äœœæˆă—ăŸă™ă€‚ ă‚”ăƒŒăƒăƒŒă‚’äœœæˆă™ă‚‹ć ŽćˆăŻă€æœ€ćˆă«ć˜çŽ”ăȘăƒ—ăƒ­ă‚°ăƒ©ăƒ ă‹ă‚‰ć§‹ă‚ăŠă‹ă‚‰ă€ăƒŠăƒŒă‚¶ăƒŒç©ș間でぼOSăźć†ćźŸèŁ…ă«é€ČăżăŸă™ă€‚



èż…é€ŸăȘć…„ć‡șćŠ›ăźăŸă‚ăźăƒăƒƒăƒ•ă‚Ąăƒ—ăƒŒăƒ«ă‚’äœœæˆă—ă€ç‹Źè‡Șたă‚čトăƒȘăƒŒăƒ ă€äœ•ă‚‰ă‹ăźă‚čă‚±ă‚žăƒ„ăƒŒăƒȘăƒłă‚°ă€ćŒæœŸăƒĄă‚«ăƒ‹ă‚șム、独è‡ȘたュヹăƒȘă‚ąăƒ­ă‚±ăƒŒă‚żăȘă©ă‚’äœœæˆă—ăŸă™ă€‚

侀æ–č、デă‚čクトップ。 æ˜šæ—„ă€ç§ăŻè‡Șćˆ†ăźăŸă‚ă«äœ•ăŒćźŸèĄŒă•ă‚ŒăŠă„ă‚‹ă‹ă‚’èŠ‹ăŸă—ăŸ-私は120ăźăƒ—ăƒ­ă‚»ă‚čă‚’ç«‹ăĄäžŠă’ăŸă—ăŸăŒă€ăă‚Œă‚‰ăźć€šăăŻç§ă«ă‚‚çŸ„ă‚‰ă‚ŒăŠă„ăȘい。 ç§ăŻè»œé‡ăźă‚·ă‚čăƒ†ăƒ ăŒć€§ć„œăă§ă€ćŽŸć‰‡ăšă—ăŠă€è‡Șćˆ†ă«ăšăŁăŠäœ•ăŒćŠčæžœçš„ă‹ă‚’ç†è§Łă—ăŠă„ăŸă™ă€‚ KDEăŸăŸăŻGNOMEă‚’ćźŸèĄŒă™ă‚‹ăšă€200から300ăźăƒ—ăƒ­ă‚»ă‚čăŒć€§é‡ă«ç™șç”Ÿă—ăŸă™ăŒă€ăă‚ŒăŒäœ•ă§ă‚ă‚Šă€äœ•ă‚’ă™ă‚‹ăźă‹ă•ăˆă‚ă‹ă‚ŠăŸă›ă‚“ă€‚ ćœŒă‚‰ăŒă‚·ă‚čăƒ†ăƒ ă«ă©ăźă‚ˆă†ăȘèČ è·ă‚’ă‹ă‘ă‚‹ă‹ă•ăˆæŽšæžŹă—ăŠă„ăŸă›ă‚“ă€‚äž€èˆŹçš„ă«ă€ăă‚ŒăŻç§ă«ăŻé–ąäż‚ă‚ă‚ŠăŸă›ă‚“ă€‚ ć°ćˆ·ă—ă€ă‚łăƒŒăƒ‰ă‚’ă‚łăƒłăƒ‘ă‚€ăƒ«ă—ăŸă™ă€‚äž€èˆŹă«ă€ăƒ‡ă‚čă‚Żăƒˆăƒƒăƒ—ăźæœ€ć€§ăƒ™ăƒłăƒăƒžăƒŒă‚Żă«ăŻèˆˆć‘łăŒă‚ă‚ŠăŸă›ă‚“ă€‚èš˜éŒČă‚’èš­ćźšă™ă‚‹ćż…èŠăŒă‚ă‚‹ă‚”ăƒŒăƒăƒŒăźæœ€ć€§ăƒ™ăƒłăƒăƒžăƒŒă‚Żă«èˆˆć‘łăŒă‚ă‚ŠăŸă™ă€‚

2ă€ç›źăŻă€ăƒ‡ă‚čă‚Żăƒˆăƒƒăƒ—ăźæ¶ˆèČ»é›»ćŠ›ăŒă‹ăȘă‚ŠäœŽăăȘăŁăŸă“ăšă§ă™ă€‚é€šćžžăźă‚·ăƒłă‚°ăƒ«ăƒ—ăƒ­ă‚»ăƒƒă‚”ă€ć°‘ă—ăźă‚łă‚ąă€ć°‘ă—ăźăƒĄăƒąăƒȘ、NUMAăȘă—ă€ă€ăŸă‚Š すăčăŠăŒéžćžžă«ă‚·ăƒłăƒ—ăƒ«ă§ă€ă™ăčăŠăŒéžćžžă«ć°ă•ă„ă§ă™ă€‚ ăă‚Œă«ă‚‚ă‹ă‹ă‚ă‚‰ăšă€Linuxは私たちぼæșćžŻé›»è©±ăšć€§èŠæšĄăȘă‚”ăƒŒăƒăƒŒă§ć‹•äœœă™ă‚‹ă“ăšă‚’çŸ„ăŁăŠă„ăŸă™ă€‚ ă“ă‚ŒăŻă‚ăŸă‚Šæ­Łă—ăă‚ă‚ŠăŸă›ă‚“ă€‚

é€Č歩的ăȘäž–ç•ŒăŒă©ăźă‚ˆă†ă«ç”ŸăăŠă„ă‚‹ă‹ă‚’èŠ‹ă‚‹ăš...ć€šćˆ†èȘ°ă‹ăŒé‡ă„DDoSă«é­é‡ă—ăŸăȘă‚‰ă€ćœŒă‚‰ăŻă“ăźć…†ć€™ă‚’çŸ„ăŁăŠă„ăŸă™ïŒš



ă“ă‚ŒăŻă€ăƒˆăƒ©ăƒ•ă‚Łăƒƒă‚Żă‚’ăƒ•ă‚Łăƒ«ă‚żăƒȘăƒłă‚°ă™ă‚‹ăŸă‚ăźć€§èŠæšĄăȘăƒ‡ăƒŒă‚żă‚»ăƒłă‚żăƒŒă‚’æ§‹çŻ‰ă—ăŸć…ˆé§†è€…ăź1äșșă«ă‚ˆă‚‹ăƒ‡ăƒŒă‚żăƒ—ăƒŹăƒŒăƒˆă§ă‚ă‚Šă€ăƒăƒƒăƒˆăƒŻăƒŒă‚Żă‚ąă‚Żă‚»ăƒ©ăƒŹăƒŒă‚żăȘしで通澾ぼIntelăƒăƒŒăƒ‰ă‚Šă‚§ă‚ąă§ć‹•äœœă—ă€äșș々は独è‡ȘたOSă‚’äœœæˆă—ăŸă™ă€‚ 蔀è‰ČăŻć‰Šé™€ă—ăŸă‚‚ăźă‚’ç€șし、ćŸșæœŹçš„ăȘćź‰äŸĄăȘă‚”ăƒŒăƒăƒŒă‹ă‚‰10 Gbăźăƒˆăƒ©ăƒ•ă‚Łăƒƒă‚Żă‚’ć‰Šé™€ă§ăă‚‹ăƒ‡ăƒŒă‚żă‚’ć—ă‘ć–ă‚ŠăŸă—ăŸă€‚

ăăźă‚ˆă†ă«Linuxă‚’è”·ć‹•ă—ăŸă ă‘ăȘă‚‰ă€äœ•ă‚‚è„±ăŽăŸă›ă‚“ă€‚ ă•ă‚‰ă«ă€ă“ă‚Œă‚‰ăźäșș々はApplication Layer DDoSăƒŹăƒ™ăƒ«ă§ă‹ăȘă‚Šæ·±ćˆ»ăȘăƒ•ă‚Łăƒ«ă‚żăƒȘăƒłă‚°ă‚’èĄŒă„ăŸă™ă€‚ IP / TCPに登るだけでăȘく、通澾ぼOSăŒèĄŒă†ă“ăšă ă‘ă§ăȘく、HTPă‚’è§Łæžă—ă€è§Łæžă—ă€ă‚ă‚‹çšźăźćˆ†éĄžć­ă‚’ćźŸèĄŒă—ă€ă„ăă€ă‹ăźăƒ—ăƒ­ă‚»ăƒƒă‚”ă‚”ă‚€ă‚Żăƒ«ă§1ă€ăźăƒ‘ă‚±ăƒƒăƒˆă‚’è§Łæžă—ăŸă™ă€‚ă™ăčăŠăŒéžćžžă«é«˜é€Ÿă§ă™ă€‚



ăȘぜこれがLinuxăšăźć…±ć­˜ăȘぼかを答えようべするăȘら、うれしいです。 2000ćčŽä»Łăźă©ă“かで、Solarisはçąșć›șăŸă‚‹ćœ°äœă‚’ć ă‚ăŠă„ăŸă—ăŸă€‚SolarisăŻć€ăă€é‡ăă€LinuxăŻé€ŸăăŠè»œă„ăšă„ă†è­°è«–ăŒă‚ă‚ŠăŸă—ăŸă€‚ă“ă‚ŒăŻăƒĄăƒŒăƒȘングăƒȘă‚čăƒˆă«ă‚‚èŒ‰ăŁăŠă„ăŸă™ă€‚ これでSolarisă«ă‚ăŁăŸă‚‚ăźăŒă‚ă‚ŠăŸă™-LinuxăŻéžćžžă«ć€§ăăă€ă‚łăƒŒăƒ‰ăŻè†šć€§ă§ă‚ă‚Šă€ć€šăăźă‚Șăƒ—ă‚·ăƒ§ăƒłăŒă‚ă‚Šă€ă™ăčăŠă‚’ćźŸèĄŒă§ăăŸă™ă€‚ă‚„ă‚ŠăŸă„ă“ăšăŻă™ăčăŠćźŸèĄŒă§ăăŸă™ă€‚ OpenBSD、NetBSDăȘどた他たOSă‚‚ă‚ă‚ŠăŸă™ăŒă€ă“ă‚Œă‚‰ăŻăŻă‚‹ă‹ă«ć˜çŽ”ă§ă€ă‚ăŸă‚Šäœżç”šă•ă‚ŒăŠă„ăŸă›ă‚“ăŒă€LinuxăŻéžćžžă«ćŒ·ćŠ›ăȘもぼです。

ç§ăŻă‚Šă‚Łă‚­ăƒšăƒ‡ă‚Łă‚ąă‹ă‚‰äžŠăźć†™çœŸă‚’ćŒ•ăăĄăŽă‚ŠăŸă—ăŸ-ćœŒă‚‰ăŻă„ăă€ă‹ăźæ–‡è„ˆă§Linuxă‚’æć†™ă—ă‚ˆă†ăšă—ăŸă—ăŸă€‚ ćž‚ç›Žćˆ—ăŒă‚ă‚ŠăŸă™-コケ憅ぼディレクトăƒȘă«ćżœă˜ăŸă‚”ăƒ–ă‚·ă‚čăƒ†ăƒ ă§ă€ăăźäž‹ăźćˆ—ăŻäžŠäœă‹ă‚‰äž‹äœă«ç§»ć‹•ă—ăŸă—ăŸă€‚ ă“ă‚ŒăŻéžćžžă«è€‡é›‘ăȘă‚°ăƒ©ăƒ•ă§ă™ă€‚ 漟際、たべえば100ăƒŹăƒ™ăƒ«ăźăƒŹăƒ™ăƒ«ă§ăźI / Oèšˆç”»ïŒˆé’ăšé’ç·‘ïŒ‰ă‚’èŠ‹ăŠăżă‚‹ăšă€ă™ăčăŠăŒèĄšç€șă•ă‚ŒăŠă„ă‚‹ă‚ă‘ă§ăŻă‚ă‚ŠăŸă›ă‚“ă€‚ ćźŸéš›ă«ăŻă™ăčăŠăŒă‚ˆă‚Šè€‡é›‘ă§ă€ć€§ăăȘæŽ„ç¶šă€ć€šăăźç•°ăȘă‚‹ă‚­ăƒ„ăƒŒă€ć€šăăźăƒ­ăƒƒă‚ŻăŒă‚ă‚Šă€ă“ă‚ŒăŻă™ăčăŠć‹•äœœă™ă‚‹ăŻăšă§ă™ă€‚ă™ăčăŠăŒă‚†ăŁăă‚Šć‹•äœœă—ăŸă™ă€‚

義ぼ戗をèȘżăčど、Linuxă‚”ăƒ–ă‚·ă‚čテムべ、敏題がç™șç”Ÿă™ă‚‹ćŻèƒœæ€§ăźă‚ă‚‹ă‚”ăƒ–ă‚·ă‚čăƒ†ăƒ ă§ă§ăă‚‹ă“ăšă‚’èŠ‹ăŠăżăŸă—ă‚‡ă†ă€‚ äž€éƒšăŻçźĄç†è€…ăźèŠłç‚čから、侀郹はケプăƒȘă‚±ăƒŒă‚·ăƒ§ăƒłă‚łăƒŒăƒ‰ăźé–‹ç™șè€…ăźèŠłç‚čから。



ăŸăšă€ăƒ—ăƒ­ă‚»ă‚čずă‚čăƒŹăƒƒăƒ‰ă‚’æ“äœœă—ăŸă™ă€‚ Linuxă«ăŻă€ćŻŸæ•°æ™‚é–“ă§æ©Ÿèƒœă™ă‚‹ć…ŹćčłăȘI / Oă‚čă‚±ă‚žăƒ„ăƒŒăƒ©ăŒă‚ă‚ŠăŸă™ă€‚ ćœŒăŻçŸćœšă€ăƒ‡ăƒ•ă‚©ăƒ«ăƒˆăźă‚čă‚±ă‚žăƒ„ăƒŒăƒ©ăƒŒă§ă‚ă‚Šă€ăă‚Œä»„ć‰ăŻäž€ćźšæ™‚é–“ć‹•äœœă™ă‚‹ă‚čă‚±ă‚žăƒ„ăƒŒăƒ©ăƒŒăŒă‚ă‚ŠăŸă—ăŸă€‚ ă‚čă‚±ă‚žăƒ„ăƒŒăƒ©ăƒŒè‡Șäœ“ă‚’æœ€é©ćŒ–ă—ăŠăƒ‘ăƒ•ă‚©ăƒŒăƒžăƒłă‚čă‚’ć‘äžŠă•ă›ă‚‹ăŸă‚ă«ă‚čă‚±ă‚žăƒ„ăƒŒăƒ©ăƒŒă«ć…„ă‚‹ćż…èŠăŻă‚ă‚ŠăŸă›ă‚“ă§ă—ăŸă€‚ă€ăŸă‚Šă€ăă“ă§ă©ăźă‚ˆă†ă«æ©Ÿèƒœă™ă‚‹ă‹ă‚’çŸ„ăŁăŠă„ăŸă™ăŒă€æœ€é©ćŒ–ă™ă‚‹ćż…èŠăŻă‚ă‚ŠăŸă›ă‚“ă§ă—ăŸă€‚ そこですăčăŠăŒäœ•ă‚‰ă‹ăźćœąă§èšˆç”»ă•ă‚ŒăŠăŠă‚Šă€ăŠăă‚‰ăă€ă†ăŸăèšˆç”»ă•ă‚ŒăŠă„ăŸă™ă€‚ ć•éĄŒăŻé€šćžžă©ă“ă‹ă§ç™șç”Ÿă—ăŸă™ă€‚

ç§ăŒèš€ăŁăŸă‚ˆă†ă«ă€ăƒ‡ă‚čă‚Żăƒˆăƒƒăƒ—ăšă‚”ăƒŒăƒăƒŒăŻćźŒć…šă«ç•°ăȘる侖界です。 1ă€ăźăƒ—ăƒ­ă‚»ăƒƒă‚”ă€8ăŸăŸăŻ16ă‚łă‚ąă‚’æŒă€ă‚”ăƒŒăƒăƒŒăŒă‚ă‚‹ć Žćˆ-これは1぀たă‚Șăƒ—ă‚·ăƒ§ăƒłă§ă™ă€‚ それぞれが10コケぼ4ă€ăźăƒ—ăƒ­ă‚»ăƒƒă‚”ă‚’ć‚™ăˆăŸă‚”ăƒŒăƒăƒŒăŒă‚ă‚‹ć Žćˆă€ă‚·ă‚čăƒ†ăƒ ă«ăŻ40ăźă‚łă‚ąăŒă‚ă‚Šă€ă•ă‚‰ă«ăƒă‚€ăƒ‘ăƒŒă‚čレッディングがあるため、8぀たă‚čăƒŹăƒƒăƒ‰ăŒă‚ă‚ŠăŸă™ă€‚ çŸćœšă€ăƒ—ăƒ­ă‚»ăƒƒă‚”ăŻă‚ˆă‚Šć€§èŠæšĄă«ăȘă‚Šă€ă•ă‚‰ă«ć€šăăźäžŠćˆ—ă‚łăƒłăƒ†ă‚­ă‚čăƒˆăŒć­˜ćœšă—ă€çŠ¶æłăŻćźŒć…šă«ç•°ăȘăŁăŠă„ăŸă™ă€‚

ăŸăšă€ă‚čăƒŹăƒƒăƒ‰ă€ăƒ—ăƒ­ă‚»ă‚čă€ă‚€ăƒ™ăƒłăƒˆă«ă€ă„ăŠè©±ă™ć Žćˆă€æŹĄă«éžæŠžă™ă‚‹ă‚‚ăźïŒˆă‚čăƒŹăƒƒăƒ‰ă€ăƒ—ăƒ­ă‚»ă‚čă€ăŸăŸăŻă‚čăƒ†ăƒŒăƒˆăƒžă‚·ăƒłïŒ‰ă«ă€ă„ăŠăŻă€ă™ăčどあăȘăŸăźćˆ©äŸżæ€§ă«ă€ă„ăŠă§ă™ă€‚

é«˜é€Ÿă§èš˜èż°ă—ăŸă„ć ŽćˆăŻă€äœ•ă‚‰ă‹ăźăƒ•ăƒŹăƒŒăƒ ăƒŻăƒŒă‚Żă‚’äœżç”šă—ăŠă€Ventă€ăŸăŸăŻBoost.Asioをă‚čトăƒȘăƒŒăƒ ăźæŸăšăšă‚‚ă«äœżç”šă—ăŸă™ă€‚

ăƒ‘ăƒ•ă‚©ăƒŒăƒžăƒłă‚čăŒćż…èŠăȘć ŽćˆăŻă€ć˜äœæ™‚é–“ă‚ăŸă‚Šă«äœ•ă‹ă§ăă‚‹é‰„ă€æ žăŒă‚ă‚‹çš‹ćșŠă‚ă‚‹ă“ăšă‚’æ­Łçąșă«ç†è§Łă™ă‚‹ćż…èŠăŒă‚ă‚ŠăŸă™ă€‚ 1ă€ăźăƒŠăƒ‹ăƒƒăƒˆă«ă§ăă‚‹ä»„äžŠăźă“ăšă‚’ćŒ·ćˆ¶ă—ă€1ă€ăźăƒăƒŒăƒ‰ă‚Šă‚§ă‚ąă‚čトăƒȘăƒŒăƒ ă«ć€šăăźă‚œăƒ•ăƒˆă‚Šă‚§ă‚ąăƒ•ăƒ­ăƒŒă‚’äžŽăˆăŸć Žćˆă€äœ•ă‚‚è”·ă“ă‚ŠăŸă›ă‚“ă€‚ æœ€ćˆăźă‚łăƒłăƒ†ă‚­ă‚čăƒˆćˆ‡ă‚Šæ›żăˆăŒç™șç”Ÿă—ăŸă™ă€‚ ă‚·ă‚čăƒ†ăƒ ă‚łăƒŒăƒ«ăŒă‚ă‚‹ć Žćˆă€ă‚łăƒłăƒ†ă‚­ă‚čトă‚čă‚€ăƒƒăƒăŻă“ă“ă§ćź‰äŸĄă§ă™ă€‚ ă‚ȘăƒšăƒŹăƒŒăƒ†ă‚Łăƒłă‚°ă‚·ă‚čăƒ†ăƒ ă«ăŻç‰č戄ăȘæœ€é©ćŒ–ăŒă‚ă‚Šă€ă‚ąăƒ—ăƒȘă‚±ăƒŒă‚·ăƒ§ăƒłăƒ—ăƒ­ă‚»ă‚čăŒă‚«ăƒŒăƒăƒ«ă«ç§»ć‹•ă—ăŠă™ăă«æˆ»ăŁăŸć Žćˆă€ăăźă‚­ăƒŁăƒƒă‚·ăƒ„ăŻăă‚Œă»ă©æŽ—ă„æ”ă•ă‚Œăšă€ă‚­ăƒŁăƒƒă‚·ăƒ„ăŻç„ĄćŠčにăȘă‚ŠăŸă›ă‚“ă€‚ ć°‘ă—æŽ—ă„æ”ă—ăŸă™ăŒă€äž€èˆŹçš„ă«ă€ç§ăŸăĄăŻă‚ˆăç”ŸăăŠă„ăŸă™ă€‚ ケプăƒȘă‚±ăƒŒă‚·ăƒ§ăƒłă‚łăƒłăƒ†ă‚­ă‚čトたă‚čă‚±ă‚žăƒ„ăƒŒăƒ«ăŒć€‰æ›Žă•ă‚Œă‚‹ăšă€ă™ăčăŠăŒéžćžžă«æ‚ȘくăȘă‚ŠăŸă™ă€‚


「すăčăŠăźăƒ—ăƒ­ă‚°ăƒ©ăƒžăŒăƒĄăƒąăƒȘă«ă€ă„ăŠçŸ„ăŁăŠăŠăăčăă“ăšă€ïŒˆUlrich DrepperïŒ‰ă‚’èȘ­ă‚€ă“ăšă‚’ćŒ·ăăŠć‹§ă‚ă—ăŸă™-çŽ æ™Žă‚‰ă—ă„æœŹă§ă™ă€‚ć°‘ă—ć€ă„ă§ă™ăŒă€äž€èˆŹçš„ăȘæŠ‚ćż”ăŻéžćžžă«ć„Șă‚ŒăŠăŠă‚Šă€ă©ăźă‚ˆă†ă«æ©Ÿèƒœă—ă€äœ•ăŒă§ăă‚‹ă‹ă‚’ç€șă—ăŠă„ăŸă™ă€‚



æœ€ćˆăźć†™çœŸăŻă€ă™ăčăŠăŒć€§èĄ†ă«ć‚ć…„ă—ć§‹ă‚ăŸAMDた2008ćčŽăŸăŸăŻ2009ćčŽă§ă™ă€‚ ćˆèšˆă§2ă€ăźăƒ—ăƒ­ă‚»ăƒƒă‚”ăŒă‚ă‚ŠăŸă™ă€‚ é’ă„ăƒăƒŁăƒăƒ«ăŻă€2ă€ăźă‚łă‚ąăŒé€šäżĄă™ă‚‹ăƒăƒŁăƒăƒ«ă§ă™ă€‚ ここでは、2ă€ăźă‚łă‚ąă‚’æŒă€2ă€ăźăƒ—ăƒ­ă‚»ăƒƒă‚”ăŒă‚ă‚ŠăŸă™ă€‚ 2ă€ăźă‚łă‚ąé–“ă§ăŻéžćžžă«é«˜é€ŸăȘè»ąé€ăŒèĄŒă‚ă‚Œă€ç•°ăȘă‚‹ăƒ—ăƒ­ă‚»ăƒƒă‚”ăƒŒé–“ă§ăŻéžćžžă«äœŽé€Ÿă§ă™ă€‚ したがっど、0.3ă‚«ăƒŒăƒăƒ«ăŒă‚ă‚‹ć Žćˆă€ćŒă˜ăƒ­ăƒƒă‚Żă€ćŒă˜intă§ć‹•äœœă—ă€ă“ă‚Œă‚‰ăź4ăƒă‚€ăƒˆă‚’é…ă„ăƒĄăƒąăƒȘăƒăƒŁăƒăƒ«ă§é§†ć‹•ă—ć§‹ă‚ăŸă™-ă“ă‚ŒăŻéžćžžă«é…ă„ă§ă™ă€‚ 搌じintć€‰æ•°ă‚’æŒă€P0ずP1ăŒæ©Ÿèƒœă™ă‚‹ć Žćˆă€ă™ăčăŠăŒéžćžžă«é«˜é€Ÿă§ă™ă€‚

çŸä»Łăźă‚ąăƒŒă‚­ăƒ†ă‚ŻăƒăƒŁă§ăŻă€ăă‚Œă‚‰ăŻèż‘ă„ă„ăŠăăŸă—ăŸă€‚ăŠăă‚‰ăă€4ă€ăźăƒ—ăƒ­ă‚»ăƒƒă‚”ă‚’æ­èŒ‰ă—ăŸć†™çœŸă‚ˆă‚Šă‚‚ă•ă‚‰ă«é€Čんだぼでしょう。 ă“ă“ă«ăƒ•ăƒ©ăƒƒăƒˆæ§‹é€ ăŒă‚ă‚‹ć Žćˆ-é«˜é€Ÿăƒ—ăƒ­ă‚»ăƒƒă‚”ăšäœŽé€ŸăƒăƒŁăƒăƒ«ăź2ă€ăźăƒ—ăƒ­ă‚»ăƒƒă‚”ăŒă‚ă‚Šă€ă™ă§ă«ă™ăčどぼコケべすăčどが通信しどいるわけではăȘく、3æŹĄć…ƒèš­èšˆă«ăȘăŁăŠă„ăŸă™ă€‚ たべえば、P3はP4べ通信せず、2ăƒ›ăƒƒăƒ—ă™ă‚‹ćż…èŠăŒă‚ă‚ŠăŸă™ă€‚ ă€ăŸă‚Š P4からP3ăźăƒ‡ăƒŒă‚żăŒćż…èŠăȘć Žćˆă€æœ€ćˆă«P0ă«ç§»ć‹•ă—ă€æŹĄă«P0ăŒă™ă§ă«P4ă«ç§»ć‹•ă—ăŸă™ă€‚ è»ąé€ă«ăŻćˆ„ăźăƒ—ăƒ­ă‚»ăƒƒă‚”ă‚’äœżç”šă™ă‚‹ćż…èŠăŒă‚ă‚ŠăŸă™ă€‚

æœ€æ–°ăźIntelたi7ă‚ąăƒŒă‚­ăƒ†ă‚ŻăƒăƒŁ-éžćžžă«æ·±ćˆ»ăȘバă‚čずKPIă‚’ć‚™ăˆăŠă„ăŸă™ă€‚ ćźŸéš›ă€ă“ăźă‚€ăƒłăƒ•ăƒ©ă‚čăƒˆăƒ©ă‚ŻăƒăƒŁă€ă‚łă‚ąé€šäżĄă€ăƒ‡ăƒŒă‚żćŒæœŸăŒă‚ă‚ŠăŸă™ă€‚ ćœŒă‚‰ăŻă€TCP / IP、すăȘわち ăƒžăƒ«ăƒăƒŹăƒ™ăƒ«é€šäżĄăƒ—ăƒ­ăƒˆă‚łăƒ«ăŒă‚ă‚Šă€ăă‚Œă‚‰ăźăƒ‘ă‚±ăƒƒăƒˆăŻăƒ—ăƒ­ă‚»ăƒƒă‚”é–“ăźăƒ‡ăƒŒă‚żăƒă‚čă§ćźŸèĄŒă•ă‚ŒăŸă™ă€‚ă‹ăȘă‚Šè€‡é›‘ăȘă“ăšăšă€ă‚ˆă‚Šé«˜é€ŸăȘè»ąé€ăŒă‚ă‚Šă€äœŽé€Ÿă§éžćžžă«é›Łă—ă„æœ€æ–°ăźi7ă‚’ç†è§Łă™ă‚‹ă“ăšă§ă™ă€‚ NumactlăŻăƒŽăƒŒăƒ‰ăźè·é›ąă‚’ç€șă—ăŸă™ă€‚ ă€ăŸă‚Šă€æ–œă‚ă«èŠ‹ă‚‹ăšă€ă“ăźă‚łă‚ąè‡Șäœ“ăŻă„ăă€ă‹ăźé‡ă•ă€ă„ăă€ă‹ăźă‚Șォムです-æœ€ă‚‚ćź‰ă„äŸĄæ Œă§ă™ă€‚ ćœŒăŒä»–ăźăƒŽăƒŒăƒ‰ă«èĄŒăăźăŻă™ă§ă«é›Łă—ă„ă§ă™ă€‚ すでに21ăźé‡ăżăŒè€ƒæ…źă•ă‚ŒăŠă„ăŸă™ă€‚

ăƒăƒŒăƒ‰ă‚Šă‚§ă‚ąăźăƒˆăƒăƒ­ă‚žă‚’èĄšç€șă™ă‚‹ăƒŠăƒŒăƒ†ă‚ŁăƒȘăƒ†ă‚Łă§ă‚‚ă€ă‚ąă‚Żă‚»ă‚čするコケはすăčăŠćŒă˜äŸĄæ Œă§ă‚ă‚‹ăšè€ƒăˆă‚‰ă‚ŒăŸă™ă€‚ ćźŸéš›ă€ă“ă‚ŒăŻć°‘ă—é–“é•ăŁăŠă„ăŸă™ăŒă€NUMAă‚’äœżç”šă™ă‚‹ć Žćˆă€ăƒ­ăƒŒă‚«ăƒ«ăƒ—ăƒ­ă‚»ăƒƒă‚”ă§ăŻă™ăčăŠăŒé«˜é€Ÿă§ă€ä»–ăźèȘ°ă‹ă§ăŻă™ăčăŠăŒäœŽé€Ÿă§ă‚ă‚‹ăšä»źćźšă™ă‚‹æ–čが簡捘です。



ă‚łăƒŒăƒ‰ă‚’é«˜é€Ÿă«ć‹•äœœă•ă›ă‚‹ăŸă‚ă«äœ•ăŒă§ăă€äœ•ăŒæ­Łă—ă„ăźă§ă—ă‚‡ă†ă‹ïŒŸ ăŸăšă€ă‚čăƒ”ăƒłăƒ­ăƒƒă‚Żă€ă•ăŸă–ăŸăȘăƒ‡ăƒŒă‚żæ§‹é€ ă€ăƒ­ăƒƒă‚Żăƒ•ăƒȘăƒŒă€ă“ă‚ŒăŻ2010ćčŽä»Łă«éžćžžă«æ™źćŠă—ăŸă—ăŸă€‚ ă•ăŸă–ăŸăȘロックフăƒȘăƒŒăźă‚­ăƒ„ăƒŒă‚„ă‚‚ăźăŻă€ć€§ăăȘăƒžă‚·ăƒłă§ăŻæ©Ÿèƒœă—ăŸă›ă‚“ă€‚ æœ€èż‘ă€ă€Œă“ă“ă«ăŻ2侇ぼă‚čトăƒȘăƒŒăƒ ăŒă‚ă‚Šă€ăăźäșșăŻă€ăƒ‡ăƒŒă‚żă‚’ă™ă°ă‚„ăæŒżć…„ăŠă‚ˆăłćŽé›†ă§ăă‚‹ă‚ˆă†ă«ă€ă‚Żă‚€ăƒƒă‚Żă‚­ăƒ„ăƒŒă‚’äœœæˆă—ăŸă‹ăŁăŸă€ăšć°‹ă­ă‚‰ă‚ŒăŸă—ăŸă€‚ ăă‚ŒăŻăăźă‚ˆă†ă«ăŻć‹•äœœă—ăŸă›ă‚“ă€ă™ăȘわち すăčăŠăŒéžćžžă«é…ăăȘă‚ŠăŸă™ă€‚ 20,000たă‚čăƒŹăƒƒăƒ‰ăŒă‚­ăƒŁăƒƒă‚·ăƒ„ă•ă‚Œă€äžćŻè§ŁăȘケトミックăȘć‘œä»€ă€ăƒ‡ăƒŒă‚żă€ăă—ăŠă™ăčăŠăŒéžćžžă«é…ăăȘă‚ŠăŸă™ă€‚ したがっど、NUMAă‚·ă‚čăƒ†ăƒ ç”šăźă‚łăƒŒăƒ‰ă‚’äœœæˆă™ă‚‹ć Žćˆă€ăƒžă‚·ăƒłć†…ă€é‰„ç‰‡ăźäž­ă«ć°ă•ăȘă‚Żăƒ©ă‚čă‚żăƒŒăŒă‚ă‚Šă€ć°ă•ăȘăƒžă‚·ăƒłă€1ă€ăźăƒ—ăƒ­ă‚»ăƒƒă‚”ă€ăƒžăƒ«ăƒă‚łă‚ąă§ă‚ă‚‹ă‚ˆă†ă«ă‚œăƒ•ăƒˆă‚Šă‚§ă‚ąă‚’æ§‹çŻ‰ă™ă‚‹ăšè€ƒăˆăŸă™ă€‚ -16ă‚łă‚ąă§ă€ćœŒć„łăŻè‡Șćˆ†ăźă“ăšă‚’ăƒ­ăƒŒă‚«ăƒ«ă§èĄŒă„ă€æ™‚ă€…èŠ‹çŸ„ă‚‰ăŹäșșăšé€šäżĄă—ăŸă™ă€‚ ăă—ăŠă€ăƒžă‚·ăƒłăźă‚Żăƒ©ă‚čă‚żăƒŒă‚’ç”„ăżćˆă‚ă›ă‚‹ăšă€é€šäżĄăŒă•ă‚‰ă«é…ăăȘă‚ŠăŸă™ă€‚ こぼようăȘă‚Żăƒ©ă‚čă‚żăƒŒăźéšŽć±€ïŒˆé«˜é€Ÿă‚Żăƒ©ă‚čă‚żăƒŒăšäœŽé€Ÿă‚Żăƒ©ă‚čă‚żăƒŒïŒ‰ă‚’ć–ćŸ—ă—ăŸă™ă€‚

ć…±æœ‰ăƒ‡ăƒŒă‚żăźè‰Żă„äŸ‹ăŻă€C ++がshared_ptrăźć Žćˆă€ă€ăŸă‚Šć…±æœ‰ăƒ‡ăƒŒă‚żă‚’äœżç”šă™ă‚‹ăźăŻè‰ŻăăȘいべいうこべです。 ăƒ‡ăƒŒă‚żăžăźăƒă‚€ăƒłă‚żăƒŒăŒă‚ă‚ŠăŸă™-これらはă‚čăƒžăƒŒăƒˆăƒă‚€ăƒłă‚żăƒŒă§ă‚ă‚Šă€ć‚ç…§ă‚«ă‚Šăƒłă‚żăƒŒăŒă‚ă‚ŠăŸă™ă€‚ă“ă‚ŒăŻă€ăƒă‚€ăƒłă‚żăƒŒăźă‚łăƒ”ăƒŒă”ăšă«ăă‚Œăžă‚Œć€‰ćŒ–ă—ăŸă™ă€‚ăƒ­ăƒŒăƒ‰ă•ă‚ŒăŸă‚”ăƒŒăƒăƒŒă‚’äœœæˆă™ă‚‹ăšă€shared_ptrăŻäœżç”šă§ăăŸă›ă‚“ă€‚

ăŸăšăˆă°ă€ăƒ–ăƒŒă‚čăƒˆăƒ­ăƒăŒć­˜ćœšă™ă‚‹ç†ç”±ăź1぀は、shared_ptr、ă‚čăƒžăƒŒăƒˆăƒă‚€ăƒłă‚żăƒŒă€ăŠă‚ˆăłă‚ąă‚Żă‚·ăƒ§ăƒłă‚’ć€§ćč…ă«é…ăă™ă‚‹ăăźä»–ăźé«˜ăƒŹăƒ™ăƒ«ăȘă‚‚ăźă‚’éžćžžă«ć€šăäœżç”šă™ă‚‹ăŸă‚ă€ă‚”ăƒŒăƒăƒŒäžŠă§ć„Șă‚ŒăŸăƒ‘ăƒ•ă‚©ăƒŒăƒžăƒłă‚čăŒćŸ—ă‚‰ă‚ŒăȘいこべです。 ă“ăźé«˜ăƒŹăƒ™ăƒ«ăźă‚Șăƒ–ă‚žă‚§ă‚Żăƒˆă‚łăƒŒăƒ‰ăŻă€ćŻèƒœăȘé™ă‚Šèż…é€Ÿă«æœȘćŠ ć·„ăźé‰„ă§ć‹•äœœă™ă‚‹ă“ăšă‚’æœŸćŸ…ă—ăŠă„ăŸă›ă‚“ă€‚

さらに。 ćœă‚Šăźć…±æœ‰ă€‚ ă•ăŸă–ăŸăȘé«˜ăƒŹăƒ™ăƒ«ăƒ—ăƒ­ă‚°ăƒ©ăƒŸăƒłă‚°èš€èȘžă§ăŻă€1ăƒă‚€ăƒˆă€2、4、8ăƒă‚€ăƒˆă§ć‹•äœœă—ăŸă™ă€‚ ăƒ—ăƒ­ă‚»ăƒƒă‚”ăŻ64ăƒă‚€ăƒˆă§ć‹•äœœă—ăŸă™-ă“ă‚ŒăŻăƒ—ăƒ­ă‚»ăƒƒă‚”ăź1ă‚­ăƒŁăƒƒă‚·ăƒ„ăƒ©ă‚€ăƒłă§ă™ă€‚ ă€ăŸă‚Š ć€‰æ•°ăŒ64ăƒă‚€ăƒˆă§ćŒă˜ă‚­ăƒŁăƒƒă‚·ăƒ„ăƒ©ă‚€ăƒłă«æ ŒçŽă•ă‚ŒăŠă„ă‚‹ć Žćˆă€ăƒ—ăƒ­ă‚»ăƒƒă‚”ăźć ŽćˆăŻ1ă€ăźć€‰æ•°ă§ă‚ă‚Šă€2ă€ăźć€‰æ•°ă«ćŻŸă—ăŠă™ăčăŠăźă‚ąăƒ«ă‚ŽăƒȘă‚șăƒ ă‚’æ­Łçąșă«ćźŸèĄŒă—ăŸă™ă€‚ äœ•ă‚‰ă‹ăźç†ç”±ă§2ă€ăźăƒ›ăƒƒăƒˆć€‰æ•°ă€ăŸăšăˆă°2぀たă‚čăƒ”ăƒłăƒ­ăƒƒă‚ŻăŒćźŒć…šă«ç•°ăȘă‚Šă€ă‚€ăƒ‡ă‚Șăƒ­ă‚źăƒŒçš„ă«ćŒă˜ă‚­ăƒŁăƒƒă‚·ăƒ„ăƒ©ă‚€ăƒłă«ćŽăŸă‚‹ć Žćˆă€ć€§ăăȘ敏題がç™șç”Ÿă—ăŸă™ă€‚ 異ăȘă‚‹ă‚łă‚ąăŒă‚ă‚ŠăŸă™ăŒă€ćŒă˜ăƒ‡ăƒŒă‚żă‚’æ±‚ă‚ăŠæˆŠă„ć§‹ă‚ăŸă™ăŒă€äžŠèĄŒă—ăŠć‹•äœœă™ă‚‹ăŻăšă§ă™ă€‚ そしど、あăȘăŸăŻă€ćźŸéš›ă«ăŻă€2ă€ăźăƒ­ăƒƒă‚Żă‚’æŒăŁăŠă„ă‚‹ăšă„ă†äș‹ćźŸă«æ°—ä»˜ăăŸă™ăŒă€ăă‚Œă‚‰ăŻ1ă€ăźăƒ­ăƒƒă‚Żăšă—ăŠæ©Ÿèƒœă—ăŸă™ă€‚

ăƒă‚€ăƒłăƒ‡ă‚Łăƒłă‚°ăƒ—ăƒ­ă‚»ă‚čは、NUMAぼ栮搈ぼみです。 かăȘă‚Šć€ă„ăƒ†ă‚čト。 4コケぼ4ăƒ—ăƒ­ă‚»ăƒƒă‚”ăźăƒžă‚·ăƒłăŒă‚ă‚ŠăŸă—ăŸă€‚ ăŸăšă€ddă‚’ćźŸèĄŒă—ăŠncに送俥するず、ddが侀æ–čăźă‚łă‚ąă§ćźŸèĄŒă•ă‚Œă€ncăŒä»–æ–čăźă‚łă‚ąă§ćźŸèĄŒă•ă‚ŒăŸă™ă€‚ ăăźçžŹé–“ă€äœ•ă‚‰ă‹ăźç†ç”±ă§ă€OSăŻă€Œăƒ—ăƒ­ă‚»ăƒƒă‚”ăŒç•°ăȘるため、ケプăƒȘă‚±ăƒŒă‚·ăƒ§ăƒłăƒ—ăƒ­ă‚»ă‚čを異ăȘă‚‹ăƒ—ăƒ­ă‚»ăƒƒă‚”ă«ćˆ†æ•Łă•ă›ă‚‹æ–čăŒè‰Żă„ă€ăšćˆ€æ–­ă—ă€1ă€ăźăƒ—ăƒ­ă‚»ă‚čを1ă€ăźăƒ—ăƒ­ă‚»ăƒƒă‚”ă«ă€ćˆ„ăźăƒ—ăƒ­ă‚»ă‚čă«ćˆ„ăźăƒ—ăƒ­ă‚»ă‚čを侎え、かăȘă‚ŠäœŽă„ăƒ‘ăƒ•ă‚©ăƒŒăƒžăƒłă‚čă‚’ćŸ—ăŸă—ăŸă€‚ 䞥æ–čăźăƒ—ăƒ­ă‚»ă‚čăŒćŒă˜ăƒ—ăƒ­ă‚»ăƒƒă‚”äžŠă§ć‹•äœœă™ă‚‹ćż…èŠăŒă‚ă‚‹ăšćŽłćŻ†ă«èš˜èż°ă™ă‚‹ăšă€è»ąé€ăŒć€§ćč…ă«ćą—ćŠ ă—ăŸă™ă€‚ ă€ăŸă‚Š OSはă‚čă‚±ă‚žăƒ„ăƒŒăƒȘăƒłă‚°ăƒ—ăƒ­ă‚»ă‚čă«ăŠă„ăŠćžžă«è‰Żă„ă“ăšă‚’èĄŒă†ăšăŻé™ă‚‰ăšă€ćžžă«èłąă„ă“ăšă‚’èĄŒă†ăšăŻé™ă‚ŠăŸă›ă‚“ă€‚

もう1぀-異ăȘă‚‹ă‚”ăƒŒăƒăƒŒă€ă€ăŸă‚Š すăčăŠăŒć›žè»ąă—ăŠă„ă‚‹ăƒ‡ă‚čă‚Żăƒˆăƒƒăƒ—ăŒă‚ă‚Šă€ăă‚ŒăŒäœ•ă§ă‚ă‚‹ă‹ăŻă‚ă‹ă‚ŠăŸă›ă‚“ă€‚ apache、nginx、MySQLă€ăƒ«ăƒŒă‚żăƒŒăȘă©ăŒæ©Ÿèƒœă™ă‚‹ă‚”ăƒŒăƒăƒŒăŒă‚ă‚ŠăŸă™ă€‚ そぼようăȘăƒ—ăƒŹăƒăƒ–ăźăƒ›ăƒƒă‚žăƒăƒƒă‚žăŒă‚ă‚ŠăŸă™ă€‚ ă—ă‹ă—ă€é«˜æ€§èƒœă‚Żăƒ©ă‚čă‚żăƒŒă‚’æ§‹çŻ‰ă—ăŠă„ă‚‹ć Žćˆă€ć€§äŒæ„­ăźæ§‹çŻ‰æ–čæł•ă‚’èŠ‹ă‚‹ăšă€ćŽŸć‰‡ăšă—ăŠă‚Żăƒ©ă‚čă‚żăƒŒăŒă‚ă‚Šă€ăƒŹăƒ™ăƒ«ăŒă‚ă‚Šă€æœ€ćˆăźăƒŹăƒ™ăƒ«ăŒă‚ă‚ŠăŸă™-たべえば、10ć°ăźăƒžă‚·ăƒłă«nginxăŒă‚ă‚Šă€ć„ăƒžă‚·ăƒłă«ăŻnginxずOSă—ă‹ă‚ă‚ŠăŸă›ă‚“ă€‚ æŹĄăźăƒŹăƒ™ăƒ«-ă„ăă€ă‹ăźă‚čクăƒȘプトを悙えたApacheăŒă‚ă‚Šă€æŹĄăźăƒŹăƒ™ăƒ«-MySQLăŒă‚ă‚ŠăŸă™ă€‚ 1ć°ăźăƒžă‚·ăƒłăŒ1ă€ăźé«˜ăƒŹăƒ™ăƒ«ăźă‚żă‚čă‚Żă§ă‚ă‚‹ă“ăšăŒă‚ă‹ă‚ŠăŸă—ăŸă€‚ ă“ă‚ŒăŻćźŒć…šă«ç•°ăȘă‚‹ă‚ąăƒ—ăƒ­ăƒŒăƒă§ă‚ă‚Šă€ă“ăźă‚·ăƒŠăƒȘă‚Șでは、ケプăƒȘă‚±ăƒŒă‚·ăƒ§ăƒłă€nginxăŸăŸăŻapacheは、すăčおたăƒȘă‚œăƒŒă‚čă‚’æ‰€æœ‰ă—ăŠă„ă‚‹ăšă„ă†äș‹ćźŸă«äŸć­˜ă™ă‚‹ă“ăšăŒă§ăă€OSăŒæäŸ›ă™ă‚‹ä»źæƒłćŒ–ă‚’ćż…èŠăšă—ăŸă›ă‚“-ä»źæƒłăƒĄăƒąăƒȘであり、これはすăčăŠăźăƒ—ăƒ­ă‚°ăƒ©ăƒ ăŒè€ƒæ…źă™ă‚‹ă‚ąăƒ‰ăƒŹă‚čç©ș間ぼ戆雱ですæœȘçŸ„ăźé‡ăźCPUă§ć‹•äœœă™ă‚‹ă“ăšă€‚ たべえば、Webă‚”ăƒŒăƒăƒŒă‚’è”·ć‹•ă™ă‚‹ăšăă«ă€ă‚łă‚ąăźæ•°ă«ç­‰ă—ă„ăƒŻăƒŒă‚«ăƒŒă€ăŸăŸăŻ2ć€ăźăƒŻăƒŒă‚«ăƒŒă‚’è”·ć‹•ă§ăăŸă™ă€‚ 私たちはćŸșă„ă„ăŠă„ăŸă™-ă‚łă‚ąăźæ•°ă«ćŠŽćƒè€…ăźæ•°ă€‚ ă“ă‚ŒăŻă€ăƒžă‚·ăƒłć…šäœ“ă‚’ćźŒć…šă«ćˆ©ç”šă™ă‚‹1ă€ăźă‚ąăƒ—ăƒȘă‚±ăƒŒă‚·ăƒ§ăƒłăŒă‚ă‚‹äŸ‹ă§ă™ă€‚



ュヹăƒȘに぀いお。 èŠă™ă‚‹ă«ă€ă‚ˆă‚Šć€šăăźăƒĄăƒąăƒȘă‚’äœżç”šă™ă‚Œă°ă™ă‚‹ă»ă©ă€ă‚ăȘăŸă«ăšăŁăŠăŻæ‚Șいこべです。 ć†™çœŸă‚’èŠ‹ă‚‹ăšă€ă“ă‚ŒăŒä»źæƒłăƒĄăƒąăƒȘた仕甄みです。 ケドレă‚čăŒă‚ă‚ŠăŸă™ïŒˆă“ă‚ŒăŻäžŠăźèĄŒă§ă™ïŒ‰-0から63ăƒ“ăƒƒăƒˆă§ă€ä»źæƒłă‚ąăƒ‰ăƒŹă‚čç©șé–“ă§äœœæ„­ă—ă€ç‰©ç†ă‚ąăƒ‰ăƒŹă‚čç©șé–“ă‚’æŒă€ăƒăƒŒăƒ‰ă‚Šă‚§ă‚ąăŒă‚ă‚‹ć Žćˆă€ă„ă€ă‚‚ăźă‚ˆă†ă«ă€ä»źæƒłă‚ąăƒ‰ăƒŹă‚čç©șé–“ă‚’ç‰©ç†ă«ăƒžăƒƒăƒ”ăƒłă‚°ă—ăŸă™ă€‚ したがっど、2ă€ăźăƒ—ăƒ­ă‚°ăƒ©ăƒ ăŒæ©Ÿèƒœă™ă‚‹ć Žćˆă€ć€‰æ•°ă‚ąăƒ‰ăƒŹă‚čăŻćŒă˜ă‹ă‚‚ă—ă‚ŒăŸă›ă‚“ăŒă€ă“ă‚Œă‚‰ăźă‚ąăƒ‰ăƒŹă‚čは異ăȘă‚‹ç‰©ç†ăƒĄăƒąăƒȘă‚»ăƒ«ă‚’ć‚ç…§ă—ăŸă™ă€‚ ă“ă‚ŒăŒä»źæƒłăƒĄăƒąăƒȘぼ掟理です。 ă—ăŸăŒăŁăŠă€ăƒ—ăƒ­ă‚»ăƒƒă‚”ăŒç‰č漚ぼケドレă‚čにスクセă‚čă™ă‚‹ć Žćˆă€ă“ăźä»źæƒłă‚ąăƒ‰ăƒŹă‚čă‚’ç‰©ç†ă‚ąăƒ‰ăƒŹă‚čă«è§Łæ±șă™ă‚‹ćż…èŠăŒă‚ă‚ŠăŸă™ă€‚

ăƒšăƒŒă‚žăƒ†ăƒŒăƒ–ăƒ«ăŻç§ăŸăĄăźăŸă‚ă«ćƒă„ăŠă„ăŸă™-ç€șされどいるもぼ。 ăƒšăƒŒă‚žăƒ†ăƒŒăƒ–ăƒ«ăŻ4ă€ăźăƒŹăƒ™ăƒ«ă§æ§‹æˆă•ă‚ŒăŠă„ăŸă™ă€‚ æœ€ćˆăź4ă€ăźăƒŹăƒ™ăƒ«ăŒă‚ă‚Šă€ăă“ă‹ă‚‰39〜47ç•Șç›źăźăƒ“ăƒƒăƒˆăŒć‚ç…§ă•ă‚ŒăŸă™-ă“ă‚ŒăŻăƒšăƒŒă‚žă§ă™ă€‚ ă“ăźăƒšăƒŒă‚žăŻăƒ—ăƒŹăƒŒăƒˆă§ă‚ă‚Šă€ă‚€ăƒłăƒ‡ăƒƒă‚Żă‚čăŻăƒ“ăƒƒăƒˆă§ă‚šăƒłă‚łăƒŒăƒ‰ă•ă‚ŒăŸæ•°ć€€ă§ă‚ă‚Šă€æŹĄăźăƒŹăƒ™ăƒ«ă«ă‚žăƒŁăƒłăƒ—ă—ăŠă‹ă‚‰ă€ăƒ“ăƒƒăƒˆăźæŹĄăźéƒšćˆ†ă‚’è§Łæ±șă—ăŸă™ă€‚ これは、1ă€ăźăƒšăƒŒă‚žă€1ă€ăźăƒŹăƒ™ăƒ«ăŒæŹĄăźăƒŹăƒ™ăƒ«ă«ăƒȘăƒłă‚Żă™ă‚‹ăƒ•ăƒ©ăƒƒăƒˆæ§‹é€ ă‚’ç€șă—ăŠă„ăŸă™ă€‚ 珏1ăƒŹăƒ™ăƒ«ă§ăŻă€ćŽŸć‰‡ăšă—ăŠăƒ—ăƒ­ă‚°ăƒ©ăƒ ăźäžŠçŽšäœæ‰€ăŒäž€è‡Žă™ă‚‹ă“ăšăŻæ˜Žă‚‰ă‹ă§ă™ă€‚

OSは、メヱăƒȘć‰Čă‚Šćœ“ăŠă‚’èĄŒă†ăšăă«ă€äœżç”šćŻèƒœăȘケドレă‚čă«ćŻèƒœăȘé™ă‚Šèż‘ă„æœ€ć°ăźă‚ąăƒ‰ăƒŹă‚čă‚’éžæŠžă—ăŸă™ă€‚ æœšă‚’ć–ćŸ—ă—ăŸă™ă€‚ æœ€ćˆăźă‚°ăƒŹăƒŒăźăƒ«ăƒŒăƒ©ăƒŒăŻ1぀、2぀盟は1぀、3ă€ç›źăźăƒŹăƒ™ăƒ«ă§ăŻ2ă€ă€æœ€ćŸŒăźăƒŹăƒ™ăƒ«ă§ăŻăƒŹăƒ™ăƒ«ć…šäœ“ă‚’ćźŒć…šă«äœżă„ć§‹ă‚ăŸă™ă€‚ ăƒĄă‚€ăƒłăƒšăƒŒă‚žă«ăƒ«ăƒŒăƒˆă‚’æŒă€ăăźă‚ˆă†ăȘツăƒȘăƒŒă‚’ć–ćŸ—ă—ăŠă‹ă‚‰ă€ćˆ†ćČă—ăŸă™ă€‚ したがっど、メヱăƒȘă‚’ć€šăäœżç”šă™ă‚Œă°ă™ă‚‹ă»ă©ă€ćˆ†ćȐするツăƒȘăƒŒăŒćą—ăˆăŸă™ă€‚ă‚‚ăĄă‚ă‚“ă€ă“ă‚Œă‚‚ă©ă“ă‹ă«äżć­˜ă™ă‚‹ćż…èŠăŒă‚ă‚Šă€ă“ă‚ŒăŻç‰©ç†ăƒĄăƒąăƒȘă§ă‚‚ă‚ă‚ŠăŸă™ă€‚ æŹĄă«ă€ă“ă‚ŒăŒă©ăźă‚ˆă†ă«äœżç”šă•ă‚ŒăŠă„ă‚‹ă‹ă€ăă—ăŠäœ•ă‚ˆă‚Šă‚‚ăƒĄăƒąăƒȘ消èČ»é‡ă‚’çąșèȘă—ăŸă™ă€‚

äșŒç•Ș盼。 ă‚ă‚‹çšźăźăƒă‚€ăƒŠăƒȘツăƒȘăƒŒă‚’äœœæˆă™ă‚‹ăšă—ăŸă™ă€‚é’ă„ăƒŽăƒŒăƒ‰ăšç·‘ăźăƒŽăƒŒăƒ‰ăŒă‚ă‚Šă€ăă“ă«èĄŒăăŸă„ăšè€ƒăˆăŠă„ăŸă™ă€‚ ç§ăŸăĄă«ăšăŁăŠă€ă“ă‚ŒăŻăƒ„ăƒȘăƒŒă§ă‚ă‚Šă€OSă«ăšăŁăŠăŻă€ăƒ„ăƒȘăƒŒć†…ăźăƒ„ăƒȘăƒŒă€ă€ăŸă‚Š ă‚­ăƒŒaă‚’æžĄă™ăšă€æœ€ćˆăźăƒŹăƒ™ăƒ«ă‹ă‚‰2ç•Șç›źăźăƒŹăƒ™ăƒ«ăŸă§ă€ăƒ„ăƒȘăƒŒă‚’ä»‹ă—ăŠè»ąé€ăŒèĄŒă‚ă‚Œă€ăƒ„ăƒȘăƒŒăź4ă€ăźăƒŹăƒ™ăƒ«ă‚’ćźŒć…šă«é€šéŽă—ăŸă™ă€‚ æŹĄă«ă€æŹĄăźçžŹé–“ă€2ç•Șç›źăźăƒŹăƒ™ăƒ«ă‹ă‚‰3ç•Șç›źăźăƒŹăƒ™ăƒ«ă«ă‚žăƒŁăƒłăƒ—ă—ăŸă™ă€‚ çč°ă‚Šèż”ă—ăŸă™ăŒă€ăƒ„ăƒȘăƒŒăŻè§Łæ±șă•ă‚ŒăŸă™ă€‚ ツăƒȘăƒŒăźæœ€äžŠéƒšă‹ă‚‰äž‹ă«ç§»ć‹•ă™ă‚‹ăŸă‚ă«ă€8぀たュヹăƒȘè»ąé€ăŒă‚ă‚ŠăŸă™-ă“ă‚ŒăŻăŸăă•ă‚“ă‚ă‚ŠăŸă™ă€‚

ćčžă„ăȘこずに、TLBă‚­ăƒŁăƒƒă‚·ăƒ„ăŒă‚ă‚ŠăŸă™ă€‚ 漟際、これはかăȘり氏さăȘă‚­ăƒŁăƒƒă‚·ăƒ„ă§ă‚ă‚Šă€ćˆèšˆçŽ„1000怋ぼケドレă‚čăŒăă“ă«é…çœźă•ă‚ŒăŠă„ăŸă™ă€‚ ăƒšăƒŒă‚žă«ćŻŸćżœă™ă‚‹ć€‰æ›ăƒ†ăƒŒăƒ–ăƒ«ă€‚ 4 KbăƒšăƒŒă‚žă€1000ăƒšăƒŒă‚ž-4 Mbă€ă€ăŸă‚Š 4 MBは、TLBă«ă‚­ăƒŁăƒƒă‚·ăƒ„ă—ăŸă‚‚ăźă§ă™ă€‚ ケプăƒȘă‚±ăƒŒă‚·ăƒ§ăƒłăŒ4 MBă‚’è¶…ăˆă‚‹ăšă™ăă«ă€ăƒ„ăƒȘăƒŒăźć‘šă‚Šă‚’è”°ă‚Šć§‹ă‚ăŸă™ă€‚æœ€æ–°ăźă‚ąăƒ—ăƒȘă‚±ăƒŒă‚·ăƒ§ăƒłăź4 MBăŻă€äž€èˆŹçš„ă«ăŻäœ•ă‚‚ă‚ă‚ŠăŸă›ă‚“ă€‚ そしど、あăȘたはかăȘă‚Šé »çčă«TLBă‚­ăƒŁăƒƒă‚·ăƒ„ă‹ă‚‰æŠœă‘ć‡șă—ăŸă™ă€‚ äœżç”šă™ă‚‹ăƒĄăƒąăƒȘăŒć€šă„ă»ă©ă€ăƒ‘ăƒ•ă‚©ăƒŒăƒžăƒłă‚čăŒäœŽäž‹ă—ăŸă™ă€‚



ăƒšăƒŒă‚žăźæ··é›‘ă«ă€ă„ăŠă€‚ ç§ăŸăĄăźăƒ‡ăƒŒă‚żăƒ™ăƒŒă‚čăŻă“ă‚Œă‚’èĄŒă†ăšă™ă§ă«èż°ăčăŸă—ăŸăŒă€ćźŸéš›ă€äž€éƒšăźăƒĄă‚«ăƒ‹ă‚șăƒ ăŻăƒ‡ăƒŒă‚żăƒ™ăƒŒă‚čずOSă§éžćžžă«äŒŒăŠăŠă‚Šă€LinuxはLRUたäșŒé‡ăƒȘă‚čăƒˆă‚’äżæŒă—ăŠă„ăŸă™ă€‚ ケクティブăƒȘă‚čトべ非ケクティブăƒȘă‚čăƒˆăŒă‚ă‚ŠăŸă™ă€‚ ă—ăŸăŒăŁăŠă€ăƒšăƒŒă‚žăŻă€ć‰Čă‚Šćœ“ăŠăźăżă‚’èĄŒă†ă‹ă€ăƒšăƒŒă‚žă§äœ•ă‹ă‚’èĄŒă†ăšă€ă‚ąă‚Żăƒ†ă‚Łăƒ–ăƒȘă‚čăƒˆă«é…çœźă•ă‚ŒăŸă™ă€‚ ăăźćŸŒă€ă—ă°ă‚‰ăă—ăŠă€éžă‚ąă‚Żăƒ†ă‚Łăƒ–ăƒȘă‚čăƒˆă«ăƒ—ăƒƒă‚·ăƒ„ă•ă‚ŒăŸă™ă€‚ kswapdăƒ‡ăƒŒăƒąăƒłă€psă‚’äœœæˆă™ă‚‹ăšă€kswapdăŒèĄšç€șă•ă‚ŒăŸă™-コスごずに1ă€ăšă€ă€ă“ă‚Œă‚‰ăŻăƒšăƒŒă‚žé–“è»ąé€ă‚’èĄŒăŁăŠă„ăŸă™ă€‚ ăŸăŸă€ăƒšăƒŒă‚žăŒ2ć›žç›źă«ćźŒć…šă«æœŸé™ćˆ‡ă‚Œă«ăȘるべ、非ケクティブăƒȘă‚čăƒˆă‹ă‚‰æ—ąă«ç”žă‚Šć‡șされどおり、たべえばmallocăȘă©ăźćŒżćăƒšăƒŒă‚žăźć ŽćˆăŻă‚čăƒŻăƒƒăƒ—ă«ç§»èĄŒă—ăŸă™ă€‚ ăƒ•ă‚Ąă‚€ăƒ«ă•ă‚ŒăŸăƒ•ă‚Ąă‚€ăƒ«ăźć Žćˆă€ăƒšăƒŒă‚žăŻć˜ă«ç ŽæŁ„ă•ă‚Œă€ăƒ•ă‚Ąă‚€ăƒ«ă•ă‚ŒăŸăƒ•ă‚Ąă‚€ăƒ«ă«ç§»ć‹•ă—ăŸă™ă€‚

ケクティブおよび非ケクティブぼăƒȘă‚čトがあるべいうäș‹ćźŸă«ćŠ ăˆăŠă€ăƒšăƒŒă‚žăŻæ±šă‚ŒăŠăă‚Œă„にăȘă‚‹ćŻèƒœæ€§ăŒă‚ă‚ŠăŸă™ă€‚ ă€ăŸă‚Š ăƒšăƒŒă‚žă‚’èȘ­ă‚€ă ă‘ăȘら、きれいです。 äœ•ă‹ă‚’æ›žăç•™ă‚ăŸć Žćˆă€äșŒæŹĄă‚čăƒˆăƒŹăƒŒă‚žă«ăƒ€ăƒłăƒ—ă•ă‚Œă‚‹ăŸă§ăă‚ŒăŻæ±šă‚ŒăŠă„ăŸă™-ă‚čăƒŻăƒƒăƒ—ă•ă‚Œă‚‹ă‹ă€ăƒ•ă‚Ąă‚€ăƒ«ă«æ›žăæˆ»ă•ă‚ŒăŸă™ă€‚ ュヹăƒȘă«äœ•ă‹ă‚’æ›žăèŸŒă‚€ăŸăłă«ă€ă™ăčどをディă‚čă‚Żă«ăƒ€ăƒłăƒ—ă—ăŸăă‚ă‚ŠăŸă›ă‚“ă€‚ æ˜Žă‚‰ă‹ă«ă€ă“ă‚Œă«ă‚ˆă‚Šäœœæ„­ăŒé…ăăȘă‚ŠăŸă™ă€‚ ă—ă‹ă—ă€ć Žćˆă«ă‚ˆăŁăŠăŻăƒȘă‚»ăƒƒăƒˆă™ă‚‹ćż…èŠăŒă‚ă‚ŠăŸă™ă€‚ć€§é‡ăźèČ è·ăŒă‚ă‚‹ć Žćˆă€ä»Šă™ăă™ăčăŠă‚’æ›žăèŸŒăżă€ăƒĄăƒąăƒȘă«æ›žăèŸŒăżă€ă©ă“ă«ă‚‚ăƒ€ăƒłăƒ—ă—ăȘいべ、捁戆ăȘュヹăƒȘがăȘいためです。 1ăƒă‚€ăƒˆăźăƒĄăƒąăƒȘă«ăƒŹă‚łăƒŒăƒ‰ăŒćˆ°ç€ă—ă€ă‚ąă‚Żăƒ†ă‚Łăƒ–ăƒȘă‚»ăƒƒăƒˆă‚’é–‹ć§‹ă—ă€ă“ă‚Œă‚‰ăźăƒȘă‚čトをèȘżăčど、これをすăčどディă‚čă‚Żă«ăƒ€ăƒłăƒ—ă™ă‚‹ăšă€é€šćžžăŻç«‹ăĄäžŠăŒă‚ŠăŸă™ă€‚

ă—ăŸăŒăŁăŠă€ăƒ©ă‚€ăƒˆăƒăƒƒă‚Żăƒ—ăƒ­ă‚»ă‚čăŒă‚ă‚Šă€ăƒ•ă‚Ąă‚€ăƒ«ă‚·ă‚čăƒ†ăƒ ăŻă“ăźăƒ—ăƒ­ă‚»ă‚čă«äœœæ„­ă‚’èżœćŠ ă—ăŸă™ă€‚ ăŸăŸă€ăƒ©ă‚€ăƒˆăƒăƒƒă‚ŻăŻă€ăƒ€ăƒŒăƒ†ă‚ŁăƒšăƒŒă‚žă‚’ă‚»ă‚«ăƒłăƒ€ăƒȘăƒȘポゾトăƒȘă«ăƒ€ăƒłăƒ—ă™ă‚‹ă ă‘ă§ă™ă€‚

sysctlć€‰æ•°ăŒă‚ă‚ŠăŸă™ă€‚ sysctlă«ăŻă‚«ăƒŒăƒăƒ«ć†…ăźăƒ‰ă‚­ăƒ„ăƒĄăƒłăƒˆă‚’äœżç”šă—ăŸă™ă€‚ćžžă«æ‰‹ć…ƒă«ă‚«ăƒŒăƒăƒ«ăŒă‚ă‚Šă€ăă“ă‚’èȘżăčăŸă™ă€‚ă‚«ăƒŒăƒăƒ«ă«ăŻă€ć„sysctlăŒäœ•ă‚’ă™ă‚‹ă‹ăŒă‚ˆăæ›žă‹ă‚ŒăŸăƒ‰ă‚­ăƒ„ăƒĄăƒłăƒˆăŒă‚ă‚ŠăŸă™ă€‚

したがっど、dirty_background_ {ratio、bytes}ăŻé…ć»¶éšœćźłăźé–‹ć§‹ç‚čです。 ăƒ•ă‚Ąă‚€ăƒ«ă‚·ă‚čăƒ†ăƒ ăŒăƒ©ă‚€ăƒˆăƒăƒƒă‚ŻăźăŸă‚ă«äœœæ„­ă‚’èĄŒă†ćż…èŠăŒă‚ă‚‹ăšćˆ€æ–­ă—ăŸăšăă€æ›žăèŸŒăżăƒă‚€ăƒˆæ•°ă€ăƒ€ăƒŒăƒ†ă‚Łăƒă‚€ăƒˆæ•°ă€ăŸăŸăŻă‚ŻăƒȘăƒŒăƒłăƒšăƒŒă‚žă‹ă‚‰ć–ćŸ—ă—ăŸăƒ€ăƒŒăƒ†ă‚ŁăƒšăƒŒă‚žăźć‰Čćˆă«ă€ă„ăŠă€ă“ăźăƒ‡ăƒŒă‚żăźăƒ€ăƒłăƒ—ă‚’é–‹ć§‹ă—ăŸă™ă€‚ăƒ‰ăƒ©ă‚€ăƒ–ă€‚

dirty_ {ratio、bytes}ăŻă€ăƒ—ăƒ­ă‚»ă‚čăŒăƒ‡ăƒŒă‚żă‚’æ›žăèŸŒăżă€æ–°ă—ă„ăƒ€ăƒŒăƒ†ă‚ŁăƒšăƒŒă‚žă‚’äœœæˆă™ă‚‹ăšăă§ă‚ă‚Šă€ăăźæ™‚ç‚čă§æ—ąă«ă‚ă‚‹ăƒ€ăƒŒăƒ†ă‚ŁăƒšăƒŒă‚žăźæ•°ă‚’èȘżăčăŸă™ă€‚ ăă‚Œă‚‰ăŒăŸăă•ă‚“ă‚ă‚‹ć Žćˆă€ćœŒè‡Șèș«ăŒă‚»ă‚«ăƒłăƒ€ăƒȘă‚čăƒˆăƒŹăƒŒă‚žă«ăă‚Œă‚‰ă‚’ă™ăă«ăƒ€ăƒłăƒ—ă—ă€ăă‚Œă‚‰ăŒć°‘ăȘă„ć ŽćˆăŻă€ăƒ©ă‚€ăƒˆăƒăƒƒă‚ŻăźăŸă‚ă«ă“ă‚Œă‚’æź‹ă—ăŸă™ă€‚ ă“ă‚ŒăŻă€éžćžžă«é›†äž­çš„ă«æ›žăèŸŒăżă‚’èĄŒă†ăšăă«çŠ¶æłă‹ă‚‰é€ƒă‚Œă‚ˆă†ăšă™ă‚‹æ–čæł•ă§ă™ăŒă€ăƒ©ă‚€ăƒˆăƒăƒƒă‚Żă‚čトăƒȘăƒŒăƒ ă«ăŻă™ăčどをăƒȘă‚»ăƒƒăƒˆă™ă‚‹æ™‚é–“ăŒă‚ă‚ŠăŸă›ă‚“ă€‚

Writeback_centisecsăŻă€ăƒšăƒŒă‚žăŒă©ăźă‚ˆă†ă«ă‚·ăƒŒăƒˆă‚’é€šéŽă™ă‚‹ă‹ă€ăŠă‚ˆăłă‚·ăƒŒăƒˆăŒăƒăƒƒăƒ—ă•ă‚Œă‚‹é »ćșŠă‚’ćˆ¶ćŸĄă—ăŸă™ă€‚

Cache_presureăŻă€ă©ăźăƒ‡ăƒŒă‚żă‚’ăƒ—ăƒƒă‚·ăƒ„ă™ă‚‹ă‹ăźé–“ăźćŠ„ć”ă§ă™ă€‚ ă€ăŸă‚Š ă“ă‚ŒăŒäœ•ă‚‰ă‹ăźçšźéĄžăźăƒ•ă‚Ąă‚€ăƒ«ă‚”ăƒŒăƒăƒŒă§ă‚ă‚‹ć Žćˆă€ć€šăăźiăƒŽăƒŒăƒ‰ăšć€šăăźăƒ‡ă‚ŁăƒŹă‚ŻăƒˆăƒȘăƒ©ă‚€ă‚żăƒŒăŒćż…èŠă§ă™ă€‚ これが捘ăȘるメヱăƒȘăźć€§ăăȘé ˜ćŸŸă«é…çœźă•ă‚ŒăŸăƒ‡ăƒŒă‚żăƒ™ăƒŒă‚čである栮搈、iăƒŽăƒŒăƒ‰ăŻćż…èŠă‚ă‚ŠăŸă›ă‚“ă€‚ たべえば、ngnixăŻăƒ•ă‚Ąă‚€ăƒ«ă‚’é–‹ăă€ăăźăƒ•ă‚Ąă‚€ăƒ«ă‚’ă‚­ăƒŁăƒƒă‚·ăƒ„ă«äżæŒă—ăŸă™ă€‚ăƒ‡ă‚ŁăƒŹă‚ŻăƒˆăƒȘăŻćż…èŠă‚ă‚ŠăŸă›ă‚“ă€‚inodeăŒćż…èŠăȘć ŽćˆăŒă‚ă‚ŠăŸă™ăŒă€ă»ăšă‚“ă©ăźć Žćˆćż…èŠă§ăŻăȘăă€ăƒšăƒŒă‚žă‚­ăƒŁăƒƒă‚·ăƒ„ăŒé‡èŠă§ă™ă€‚



ăƒ©ăƒŒă‚žăƒšăƒŒă‚žă«ă€ă„ăŠă€‚ ç§ăŸăĄăźăƒšăƒŒă‚žăƒ†ăƒŒăƒ–ăƒ«ăŻ4 KBăƒšăƒŒă‚žă§æ©Ÿèƒœă™ă‚‹ăšèš€ă„ăŸă™ăŒă€ćźŸéš›ă€TLBでは4 MBしかケドレă‚čæŒ‡ćźšă§ăăȘă„ă“ăšăŒă‚ă‹ă‚ŠăŸă—ăŸ-ă“ă‚Œă§ăŻććˆ†ă§ăŻă‚ă‚ŠăŸă›ă‚“ă€‚ ă—ăŸăŒăŁăŠă€ă‚«ăƒŒăƒăƒ«ăƒŹăƒ™ăƒ«ăšăƒ—ăƒ­ă‚»ăƒƒă‚”ăƒŹăƒ™ăƒ«ă§æœ€é©ćŒ–ăŒèĄŒă‚ă‚ŒăŸă™-ă“ă‚ŒăŻć€§ăăȘăƒšăƒŒă‚žă§ă™ă€‚ ăƒ—ăƒ­ă‚»ăƒƒă‚”ăŒă©ăźă‚ˆă†ă«ć‹•äœœă™ă‚‹ă‹ăŻæ­Łç›Žă‚ă‹ă‚ŠăŸă›ă‚“ăŒă€æœ€ç”‚çš„ă«ăŻă€ăƒšăƒŒă‚žă‚’ć‰Čă‚Šćœ“ăŠăŸć Žćˆă€2 MBăŸăŸăŻ1 GBăźç‰©ç†ăƒšăƒŒă‚žăŒăȘいこずにăȘă‚ŠăŸă™ă€‚ ç‰©ç†çš„ă«ăŻă€ăŸă 4 KBです。 ăă—ăŠă€ć€§ăăȘăƒšăƒŒă‚žă‚’ć‰Čă‚Šćœ“ăŠă‚‹ăšă€ćźŸéš›ă€OSは4 KBăźé€Łç¶šăƒ–ăƒ­ăƒƒă‚Żă‚’æŽąă—ăŸă™ă€‚ă“ă‚Œă«ă‚ˆă‚Šă€ă“ăźć€§ăăȘăƒšăƒŒă‚žă«ăȘă‚ŠăŸă™ă€‚ ă“ăźć€§ăăȘăƒšăƒŒă‚žăŻă€ăƒšăƒŒă‚žăƒ†ăƒŒăƒ–ăƒ«ăź1぀たă‚Șă‚«ăƒŹăƒłă‚čずTLBた1぀たă‚Șă‚«ăƒŹăƒłă‚čăźăżă§æ§‹æˆă•ă‚ŒăŸă™ă€‚

ă“ă“ă§ăźć•éĄŒăŻă€é€šćžžăźăƒšăƒŒă‚žă«çŹŹ1ăƒŹăƒ™ăƒ«ăźTLBがある栮搈-これは箄1000スントăƒȘă§ă‚ă‚Šă€ć€§ăăȘăƒšăƒŒă‚žă§ăŻ-これはおそらく2 MBで箄8、GBで1-2であるべいうこべです。 ă“ă‚Œă«ćŸșă„ă„ăŠă€ć€§ăăȘăƒ‡ăƒŒă‚żăƒ™ăƒŒă‚čăŒă‚ă‚‹ć Žćˆă€ć€§ăăȘăƒšăƒŒă‚žăŻă‚ăȘăŸă«ćˆă‚ăȘă„ă‹ă‚‚ă—ă‚ŒăŸă›ă‚“ă€ăă—ăŠă‚ăȘたが1ăƒă‚€ăƒˆă ă‘ă‚’æ›žăăšă€ă“ăźăƒă‚€ăƒˆă«1GBがć‰Čă‚Šćœ“ăŠă‚‰ă‚Œă€ăă‚ŒăŒăƒ•ă‚Ąă‚€ăƒ«ă‹ă‚‰ăČăă€ă‚Šă€æœ€ç”‚çš„ă«ă‚ăȘăŸă«ăšăŁăŠæœ‰ç›Šă§ăŻăȘくăȘă‚ŠăŸă™ă€‚ æŻ”èŒƒçš„ć°ă•ăȘăƒ‡ăƒŒă‚żăźéžćžžă«æż€ă—ă„ă‚čă‚żăƒƒă‚Żă‚’äżæŒă—ăŠă„ă‚‹ć Žćˆă€ă€ăŸă‚Š MySQLを40 GBたュヹăƒȘă«äžŠă’ă‚‹ă‚ˆă†ăȘă‚‚ăźă§ăŻă‚ă‚ŠăŸă›ă‚“ăŒă€æ–‡ć­—é€šă‚Š1 GBから2-4 MBぼ氏さăȘăƒ‡ăƒŒă‚żăƒ™ăƒŒă‚čăŒă‚ă‚Šă€ă“ă‚ŒăŒăƒ‡ăƒŒă‚żæ§‹é€ ă§éžćžžă«é›Łă—ă„ć ŽćˆăŻă€ăƒ’ăƒ„ăƒŒăƒšăƒŒă‚žă‚’äœżç”šă™ă‚‹ăźăŒç†ă«ă‹ăȘăŁăŠă„ăŸă™ă€‚

çŽ æ™Žă‚‰ă—ă„ç‚čは、Linux 2.6.38ăŒé€æ˜ŽăȘć€§ăăȘăƒšăƒŒă‚žă‚’ć°Žć…„ă—ăŸă“ăšă§ă™ă€‚ ă—ă°ă‚‰ăăźé–“ă€ć€§ăăȘăƒšăƒŒă‚žă«ç…©ă‚ă•ă‚Œă€ăă‚Œă‚’äœżç”šă™ă‚‹ăŸă‚ă«ç‰č戄ăȘăƒ•ă‚Ąă‚€ăƒ«ă‚·ă‚čăƒ†ăƒ ă‚’ăƒžă‚Šăƒłăƒˆă™ă‚‹ćż…èŠăŒă‚ă‚ŠăŸă—ăŸăŒă€ä»Šă§ăŻLinuxがすăčăŠă‚’ć˜ç‹Źă§ćźŸèĄŒă§ăăŸă™ă€‚ ュヹăƒȘé ˜ćŸŸă‚’æŒ‡ćźšă™ă‚‹ć ŽćˆăŻă€madviseă‚’ćźŸèĄŒă—ăŸă™ă€‚ă“ăźăƒĄăƒąăƒȘé ˜ćŸŸă§ć€§ăăȘăƒšăƒŒă‚žă‚’äœżç”šă—ăŸă„ăźă§ă€ăŸăšăˆă°mmap largeă§ăƒšăƒŒă‚žă‚’éžæŠžă™ă‚‹ăšă€LinuxăŻć€§ăăȘăƒšăƒŒă‚žă‚’ć‰Čă‚Šćœ“ăŠă‚ˆă†ăšă—ăŸă™ă€‚ ć‰Čă‚Šćœ“ăŠă‚‰ă‚ŒăȘい栮搈は、4 KbăŸă§ă‚čăƒ©ă‚€ăƒ‰ă—ăŸă™ăŒă€ă“ăźăŸă‚ă«ćŻèƒœăȘすăčăŠăźă“ăšă‚’èĄŒă„ăŸă™ă€‚ ć€§ăăȘăƒšăƒŒă‚žăźă‚”ăƒăƒŒăƒˆăŻă€xdpyinfoă§èĄšç€șă§ăăŸă™ă€‚



ディă‚čクた慄ć‡ș抛に぀いお。 ここには、2ă€ăźć€§ăăȘèˆˆć‘łæ·±ă„ă‚«ăƒ†ă‚ŽăƒȘă«ćˆ†éĄžă§ăă‚‹3぀たă‚Șăƒ—ă‚·ăƒ§ăƒłăŒă‚ă‚ŠăŸă™ă€‚1ă€ç›źăŻă‚łăƒ”ăƒŒä»˜ăăƒ•ă‚Ąă‚€ăƒ«I / O、2ă€ç›źăŻă‚łăƒ”ăƒŒăȘしです。

ć†™çœŸăŻé€šćžžăźć‹•äœœă‚’ç€șă—ăŠă„ăŸă™ă€‚ open, read, write, , .. page cache. - , , , , kswapd, writeback- , , . . , read write, , page cache, .. . , , O_DIRECT -, page cache, , , mmap' - .

– mmap. , O_DIRECT read write , mmap - - - , , . , , , , , O_DIRECT'a.

mmap. , X86, , , 128 , 10 – , - . , , , page 3, 128 , mmap, 128 – - .



, - n , mmap , . ă€ăŸă‚Š , , , mmap.



. - , page table . .., page table – , 128 256 page table, .. , .



. - . , . , , , - . , , , , , . ă€ăŸă‚Š , .

. , , , , - . – . .

, Linux' -. .., , , , , , . , CPU -, .. .

Deadline – , , , - , .. . , .

CFQ – , , , , , , , -, . , .



. sysctl , , , , . .
 , , , , . , , , read , .

Read_ahead – , - , . , , . , InnoDB , , , .

, , .



. zero-copy , , zero-copy a. ă€ăŸă‚Š htp , , , , - user space firewall , .

, user space , .. , , . , , , , . 64 . 64 , 4-5 . , , 100 , zero-copy , .

, . , zero-copy, TCP/IP . , , TCP . .., , . .., . , , 64 TCP, 128 . , 64 , 64 , , , , - , . ă€ăŸă‚Š , TCP , .



. , , . ă€ăŸă‚Š grep /proc/interrupts ethernet , , 16, 24, 40, , . , , . ă€ăŸă‚Š 20-40 , .., , .

c RPS, .. , , , , . , , .. IP- , TCP, TCP, IGP .. . , , , , -, , , . RPS, , - .



Offloading. Jumbo frames, , . , GRO GSO . , , 64 , , . , GSO, GRO 64 , , , , 64 . , Jumbo frames, a , , .



Qdisc – . Linux' , , , wi-fi , - . , , , , IP-, – , .. , . - , ( ) – , – , , , . Qdisc , . livejournal – www.linuxjournal.com/content/queueing-linux-network-stack .



Sysctl , . , , nginx, , sysctl, , .

é€Łç”Ąć…ˆ


» ak@natsys-lab.com
» NatSys Lab.

— HighLoad++ Junior . 2016 — HighLoad++ , 7 8 .

(, ) — " Linux Kernel Extension for Databases ".

- HighLoad.Guide — , , , . 30 . !

Source: https://habr.com/ru/post/J310848/


All Articles