éå»æ°å¹Žéã«ãªãªãŒã¹ãããã»ãšãã©ãã¹ãŠã®ããŒãœãã«ã³ã³ãã¥ãŒã¿ãŒã«ã¯ãå°ãªããšããã¥ã¢ã«ã³ã¢ããã»ããµãæèŒãããŠããŸãã èªè ãéåžžã«å€ãã³ã³ãã¥ãŒã¿ãŒãäºç®ã®å°ãªãã©ãããããã§ã¯ãªãå Žåããããããã«ãããã»ããµãŒã·ã¹ãã ã®ææè ã§ãã ããã§ãã²ãŒã ããã¬ã€ãããå Žåã¯ãçŽ100ã®GPUã³ã¢ã«ã¢ã¯ã»ã¹ã§ããŸãã ãã ãããã®ãã¹ãŠã®åãã»ãããéããæéã®å€§éšåãå ããŠããŸãã ä¿®æ£ããŠã¿ãŸãããã
ã¯ããã«
ãããŸãã«ãè€æ°ã®ããã»ããµãŒïŒãŸãã¯ã³ã¢ïŒã®ãã«ãã¯ãŒã䜿çšããŠæ¥åžžã®ã¿ã¹ã¯ã解決ãã匷åãªGPUã®äœ¿çšãã³ã³ãã¥ãŒã¿ãŒã²ãŒã ã«åž°çããããšããããããŸãã å人çã«ãç§ã¯ããã奜ãã§ã¯ãããŸãããç§ã¯åããŠããŸã-ãªãããã»ããµãäŒãŸããã®ã§ããïŒ æ··ä¹±ã ãã«ãããã»ããµïŒãã«ãã³ã¢ïŒã®ãã¹ãŠã®æ©èœãšå©ç¹ãèæ ®ããå¯èœãªãã¹ãŠã䞊ååããŠãæéãå€§å¹ ã«ç¯çŽããå¿ èŠããããŸãã ãŸããããŒãäžã®äœçŸãã®ã³ã¢ãåãã匷åãªãããªã«ãŒããæ¥ç¶ããå Žåãããã¯ãã¡ããçãç¯å²ã®ã¿ã¹ã¯ã«ã®ã¿é©åããŸãããããã§ãèšç®ãéåžžã«å€§å¹ ã«é«éåããŸãã
Linuxã¯ãã®ç¹ã§éåžžã«åŒ·åã§ãã 第äžã«ãããã«äœ¿ããã»ãšãã©ã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã§ã¯ã䞊åå®è¡ã«é©ããããŒã«ã䜿çšã§ããŸãã第äºã«ããã«ãã³ã¢ã·ã¹ãã ã念é ã«èšèšãããå€ãã®ãœãããŠã§ã¢ãèšè¿°ãããŠããŸãã èšå®ã®æè»æ§ã«ã€ããŠè©±ãå¿ èŠãããããŸããã çºçããå¯èœæ§ã®ããå¯äžã®åé¡ã¯ããããªã«ãŒãã®ãã©ã€ããŒã§ãããäœãããå¿ èŠã¯ãããŸããã
ãŸãã䞊ååã®æ¹æ³ã決ããŸãããã ãããã®2ã€ããããŸãïŒã¿ã¹ã¯ãå®äºããããã«ããã€ãã®äžŠåã¹ã¬ããïŒãã«ãã¹ã¬ããïŒãèµ·åããã¢ããªã±ãŒã·ã§ã³èªäœã«ãã£ãŠã å¥ã®æ¹æ³ã¯ãã¢ããªã±ãŒã·ã§ã³ã®è€æ°ã®ã³ããŒãå®è¡ããããšã§ããåã³ããŒã¯ãããŒã¿ã®ç¹å®ã®éšåãåŠçããŸãã ãã®å Žåã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã¯ãã³ã¢ãŸãã¯ããã»ããµéã§ããã»ã¹ãç¬ç«ããŠåæ£ããŸãïŒãã«ãã¿ã¹ã¯ïŒã
ã¿ãŒããã«ã§çŽæ¥äžŠååããŸã
端æ«ãŠã£ã³ããŠããçŽæ¥ããã»ã¹ã䞊åèµ·åããããšããå§ããŸãããã ã¿ãŒããã«ã§é·æéå®è¡ãããŠããããã»ã¹ãå®è¡ããŠãåé¡ã¯ãããŸããã ãããããã®ãããªããã»ã¹ã2ã€å¿ èŠãªå Žåã¯ã©ãã§ããããïŒ ãåé¡ã§ã¯ãããŸããããšèšããŸããã2çªç®ã®ããã»ã¹ã¯å¥ã®ã¿ãŒããã«ãŠã£ã³ããŠã§éå§ããã ãã§ãã ãããŠãããªãã¯10以äžãå®è¡ããå¿ èŠãããå Žåã¯ã©ããªããŸããïŒ ããŒã...æåã«æãæµ®ãã¶ã®ã¯ãxargsãŠãŒãã£ãªãã£ã䜿çšããããšã§ãã 圌女ã«ãªãã·ã§ã³--max-procs = nãäžãããšããœãããŠã§ã¢ã¯åæã«nåã®ããã»ã¹ãå®è¡ããŸãã å ¬åŒããã¥ã¢ã«ã§ã¯ãåŒæ°ã«ããã°ã«ãŒãåãš--max-procsãªãã·ã§ã³ïŒãªãã·ã§ã³-nïŒã®äœ¿çšãæšå¥šããŠããŸããããããªããšã䞊åèµ·åã§åé¡ãçºçããå¯èœæ§ããããŸãã ããšãã°ãå€æ°ã®å€§ããªïŒãŸãã¯å°ããªïŒãã¡ã€ã«ãã¢ãŒã«ã€ãããå¿ èŠããããšããŸãã
$ cd folder/with/files $ ls | xargs -n1 --max-procs=4 gzip
ã©ããããã®æéãç²åŸããŸãããïŒ ãããæ°ã«ããå¿ èŠããããŸããïŒ ããã§ã¯ãçªå·ãæå®ããã®ãé©åã§ãã ã¯ã¢ããã³ã¢ããã»ããµã§ã¯ããããããçŽ400 MBã®5ã€ã®ãã¡ã€ã«ã®éåžžã®ã¢ãŒã«ã€ãã«1å40ç§ããããŸããã
xargs --max-procs=4
ã䜿çšãã
xargs --max-procs=4
çµéæéãã»ãŒ4åã«ççž®ãããŸããïŒ34ç§ïŒã 質åã«å¯Ÿããçãã¯æããã ãšæããŸãã
ãã£ãšé¢çœããã®ãè©ŠããŠã¿ãŸãããã ããšãã°ãlameã䜿çšããŠWAVãã¡ã€ã«ãMP3ã«å€æããŸãã
$ ls *.wav | xargs -n1 --max-procs=4 -I {} lame {} -o {}.mp3
åä»ã«èŠããŸããïŒ åæããŸãã ãã ããããã»ã¹ã®äžŠåå®è¡ã¯xargsã®äž»ãªã¿ã¹ã¯ã§ã¯ãªãããã®æ©èœã®1ã€ã«ãããŸããã ããã«ãxargsã¯ãã¹ããŒã¹ãåŒçšç¬Šãªã©ã®ç¹æ®æåã§ã¯ããŸãããŸãåäœããŸããã ãããŠãããã§GNU ParallelãšããçŽ æŽããããŠãŒãã£ãªãã£ãç§ãã¡ã®å©ãã«ãªããŸãã Softinaã¯æšæºã®ãªããžããªã§äœ¿çšã§ããŸãããããããã€ã³ã¹ããŒã«ããããšã¯ãå§ãããŸãããããšãã°ãUbuntuãªããžããªã§ã¯ã2幎åã«ããŒãžã§ã³ã«ééããŸããã ãœãŒã¹ããæ°ããããŒãžã§ã³ãã³ã³ãã€ã«ããããšããå§ãããŸãïŒ
$ wget ftp.gnu.org/gnu/parallel/parallel-latest.tar.bz2 $ tar xjf parallel-latest.tar.bz2 $ cd parallel-20130822 $ ./configure && make # make install
ãŠãŒãã£ãªãã£èªäœã®ååã¯ããã®çãå°éæ§ãç©èªã£ãŠããŸãã å®éãParallelã¯äžŠååã«éåžžã«äŸ¿å©ã§ããããã®äœ¿çšã¯ããè«ççã«èŠããŸãã xargsã®ä»£ããã«Parallelã䜿çšããäžèšã®äŸã¯ã次ã®ããã«ãªããŸãã
$ ls *.wav | parallel lame {} -o {}.mp3
ãšããã§ãUbuntuãŸãã¯Kubuntuã®äžã«åº§ã£ãŠããå Žåããã®äŸã¯æ©èœãããå¥åŠãªãšã©ãŒãçºçããŸãã ããã¯ãã㌠'--gnu'ãè¿œå ããããšã§ä¿®æ£ãããŸãïŒæ¬¡ã®äŸã«é©çšïŒã åé¡ã®è©³çŽ°ã«ã€ããŠã¯ã ãã¡ããã芧ãã ãã ã
ãããŠããªãåæã«å®è¡ãããããã»ã¹ã®æ°ãèšå®ããªãã®ã§ããïŒ Parallelãç§ãã¡ã®ããã«ãããè¡ãã®ã§ãã³ã¢ã®æ°ã決å®ããã«ãŒãã«ã§ããã»ã¹ãå®è¡ããŸãã ãã¡ããã-jãªãã·ã§ã³ã䜿çšããŠãã®çªå·ãæåã§èšå®ããããšãã§ããŸãã ãšããã§ãç°ãªããã·ã³ã§ã¿ã¹ã¯ãå®è¡ããå¿ èŠãããå Žåã移æ€æ§ãåäžãããã«ã¯ããã®ãªãã·ã§ã³ã-j +2圢åŒã§èšå®ãããšäŸ¿å©ã§ãããã®ç¹å®ã®å Žåã¯ããã·ã¹ãã ã«ã³ã³ãã¥ãŒãã£ã³ã°ãŠããããããããã2ã€ã®ããã»ã¹ãåæã«å®è¡ãããããšãæå³ããŸãã
PythonãšParallelã®åéãäœããšã䞊åã¿ã¹ã¯ã®ããã®åŒ·åãªããŒã«ãæã«å ¥ããŸãã ããšãã°ãWebããWebããŒãžãããŠã³ããŒããããã®åŸã®åŠçã¯æ¬¡ã®ããã«ãªããŸãã
$ python makelist.py | parallel -j+2 'wget "{}" -O - | python parse.py'
ããããPythonããªããŠãããã®ãŠãŒãã£ãªãã£ã«ã¯å€ãã®æ©èœããããŸãã å¿ ãmanãèªãã§ãã ãã-èå³æ·±ãäŸããããããããŸãã
ãã¡ãããParallelãšxargsã«å ããŠãåæ§ã®æ©èœãæã€ãŠãŒãã£ãªãã£ã¯ä»ã«ããããããããŸãããæåã®2ã€ã§ã¯ã§ããªãããšã¯äœãç¥ããŸããã
ç§ãã¡ã¯ãããç解ããŸããã å ã«é²ã¿ãŸãã
䞊åã³ã³ãã€ã«
ãœãŒã¹ããäœããåéããããšã¯ãLinuxã§äžè¬çãªããšã§ãã ã»ãšãã©ã®å ŽåãéèŠã§ã¯ãªãäœããåéããå¿ èŠããããŸãããã®ãããªãããžã§ã¯ãã§ã¯ã䞊åã³ã³ãã€ã«ã¯èããããŸããã ããããæã«ã¯ãã倧ããªãããžã§ã¯ãã«åºãããããã«ããå®äºããã®ãåŸ ã€ã®ã«ã»ãšãã©æ°žé ãèŠããŸããäŸãã°ããœãŒã¹ïŒ1ã¹ã¬ããã§ïŒããAndroidïŒAOSPïŒããã«ãããã«ã¯ãçŽ5æéããããŸãã ãã®ãããªãããžã§ã¯ãã§ã¯ããã¹ãŠã®ã³ã¢ã䜿çšããå¿ èŠããããŸãã
ãŸããã³ã³ãã€ã«èªäœïŒGCCãªã©ïŒã䞊ååãããŠããªãããšã¯æããã ãšæããŸãã ãããã倧èŠæš¡ãªãããžã§ã¯ãã¯ãå€ãã®å Žåãåæã«ã³ã³ãã€ã«ã§ããããŸãã³ã³ãã€ã«ããå¿ èŠã®ããå€æ°ã®ç¬ç«ããã¢ãžã¥ãŒã«ãã©ã€ãã©ãªãããã³ãã®ä»ã®ãã®ã§æ§æãããŠããŸãã ãã¡ãããã³ã³ãã€ã«ã䞊ååããæ¹æ³ã«ã€ããŠèããå¿ èŠã¯ãããŸãããmakeããããåŠçããŸãããmakefileã«äŸåé¢ä¿ãæžã蟌ãŸããŠããå Žåã«ã®ã¿ã§ãã ããããªããšãmakeã¯ã©ã®é åºã§ã¢ã»ã³ãã«ããã®ããäœãåæã«åéã§ããã®ããäœãåéã§ããªãã®ããç¥ããŸããã ãŸããã¡ã€ã¯ãã¡ã€ã«ã¯éçºè ã®é¢å¿äºã§ãããããç§ãã¡ã«ãšã£ãŠã¯ãã¹ãŠã³ãã³ãã®å®è¡ã«åž°çããŸã
$ make -jN
ãã®åŸãmakeã¯ãããžã§ã¯ãã®æ§ç¯ãéå§ããåæã«æ倧Nåã®ã¿ã¹ã¯ãèµ·åããŸãã
ãšããã§ã-jãªãã·ã§ã³ã®å€ã®éžæã«ã€ããŠã Webã§ã¯ãå€ãã®å Žåã1.5 * <ã³ã³ãã¥ãŒãã£ã³ã°ãŠãããã®æ°>ã䜿çšããããšããå§ãããŸãã ããããããã¯å¿ ãããçå®ã§ã¯ãããŸããã ããšãã°ãã¯ã¢ããã³ã¢ã§ç·éé250 MBã®ãããžã§ã¯ãããã«ãããã®ã¯ã-jãã©ã¡ãŒã¿ãŒå€ã4ã®å Žåã«æéã§ããïŒç»é¢ãåç §ïŒã
ã³ã³ãã€ã«æéã®ãã©ã¡ãŒã¿ãŒå€ãžã®äŸå
ããã«æéã皌ãããã«ã-pipeã¹ã€ãããGCCã«è¿œå ã§ããŸãã ãã®ããŒã䜿çšãããšãã³ã³ãã€ã«ã®ããŸããŸãªæ®µééã§ã®ããŒã¿è»¢éãäžæãã¡ã€ã«çµç±ã§ã¯ãªããã€ãçµç±ã§è¡ããããããããã»ã¹ãå°ãïŒéåžžã«ïŒéããªããŸãã
makeã«å ããŠãPythonã§äœæããã䞊åãã«ãã·ã¹ãã ã§ããpmakeãè©Šãããšãã§ããŸãã juzvereysã®å Žåããã®äœ¿çšã¯makeãšããã»ã©å€ãããŸããããæšæºããŒã«ãããåºç¯ãªæ©èœãåããŠãããããéçºè ã«ãšã£ãŠã¯éåžžã«èå³æ·±ãå ŽåããããŸãã
䞊åRsync
Rsyncã䜿çšããŠèšå€§ãªæ°ã®å°ããªãã¡ã€ã«ããªã¢ãŒããµãŒããŒãšåæããããšãããå Žåãåä¿¡ãã¡ã€ã«ãªã¹ãã®æ®µéã§ããªãã®é 延ãçºçããŠããããšã«æ°ä»ããã§ãããã ãã®æ®µéã¯äžŠååã«ãã£ãŠå éã§ããŸããïŒ ãã¡ããã§ããŸãã ãããã¯ãŒã¯ã®é 延ã«å€ãã®æéãè²»ããããŸãã ãããã®äžæçãªæ倱ãæå°éã«æããããã«ãRsyncã®ã³ããŒãããã€ãå®è¡ããåããã¡ã€ã«ãã³ããŒãããªãããã«ãåã³ããŒãããšãã°å¥ã®ãã£ã¬ã¯ããªã«èšå®ããŸãã ãããè¡ãã«ã¯ã-includeãªãã·ã§ã³ãš--excludeãªãã·ã§ã³ã®çµã¿åãããçµåããŸããããšãã°ã次ã®ããã«ãªããŸãã
$ rsync -av --include="/a*" --exclude="/*" -P login@server:remote /localdir/ $ rsync -av --include="/b*" --exclude="/*" -P login@server:remote /localdir/
ç°ãªã端æ«ã§è€æ°ã®ã³ããŒãæåã§éå§ã§ããŸããããã©ã¬ã«ã«æ¥ç¶ã§ããŸãã
$ cat directory_list.txt | parallel rsync -av --include="/{}*" --exclude="/*" ...
SSH Turbo Jetãã¡ã€ã«ã³ããŒ
éåžžã2ã€ã®ãã¹ãéã§ãã£ã¬ã¯ããªãåæããã«ã¯ãSSHã®äžã§Rsyncãå®è¡ããŸãã SSHæ¥ç¶ãé«éåããŠãRsyncã®äœæ¥ãé«éåããŸãã ãŸããSSHã¯OpenSSH HPNãããã»ããã䜿çšããããšã§é«éåã§ããŸããããã«ãããSSHã®ãµãŒããŒéšåãšã¯ã©ã€ã¢ã³ãéšåããããã¡ãªã³ã°ããã¡ã«ããºã ã®ããã«ããã¯ã解æ¶ãããŸãã ããã«ãHPNã¯AES-CTRã¢ã«ãŽãªãºã ã®ãã«ãã¹ã¬ããããŒãžã§ã³ã䜿çšããŸããããã«ããããã¡ã€ã«ã®æå·åé床ãåäžããŸãïŒ
-oCipher=aes[128|192|256]-ctr
ã«ãã£ãŠã¢ã¯ãã£ãåãããŸãïŒã OpenSSH HPNãã€ã³ã¹ããŒã«ãããŠãããã©ããã確èªããã«ã¯ãã¿ãŒããã«ã«å ¥åããŸãã
$ ssh -V
HPNéšåæååãšã³ããªãæ¢ããŸãã éåžžã®OpenSSHãããå Žåã¯ã次ã®ããã«HPNããŒãžã§ã³ãã€ã³ã¹ããŒã«ã§ããŸãã
$ sudo add-apt-repository ppa:w-rouesnel/openssh-hpn $ sudo apt-get update -y $ sudo apt-get install openssh-server
次ã«ãè¡ã
/etc/ssh/sshd_config
è¿œå ã
/etc/ssh/sshd_config
ã
HPNDisabled no TcpRcvBufPoll yes HPNBufferSize 8192 NoneEnabled yes
ãã®åŸãSSHãµãŒãã¹ãåèµ·åããŸãã 次ã«ãRsync / SSH / SCPæ¥ç¶ãå床äœæããã²ã€ã³ãè©äŸ¡ããŸãã
HPNãµããŒããæå¹ã«ãã
ãã¡ã€ã«å§çž®
äžèšã§è¡ã£ããã¹ãŠã®å éã¯ãåãããã»ã¹ã®è€æ°ã®ã³ããŒã®åæèµ·åã«åºã¥ããŠããŸãã ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ããã»ã¹ã¹ã±ãžã¥ãŒã©ã¯ããã·ã³ã®ã³ã¢ïŒããã»ããµïŒéã®ãããã®ããã»ã¹ã解決ããŸãããããã«ãããã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ãåŸãããŸããã ããã€ãã®ãã¡ã€ã«ãå§çž®ããäŸã«æ»ããŸãããã ãããã1ã€ã®å·šå€§ãªãã¡ã€ã«ãå§çž®ããããã«bzip2ãé ãããå¿ èŠãããå Žåã¯ã©ãã§ããããïŒ å¹žãããã¡ã€ã«å§çž®ã¯äžŠååŠçã«éåžžã«é©ããŠããŸãããã¡ã€ã«ã¯ãããã¯ã«åå²ãããç¬ç«ããŠå§çž®ãããŸãã ãã ããgzipãbzip2ãªã©ã®æšæºãŠãŒãã£ãªãã£ã«ã¯ãã®æ©èœã¯ãããŸããã 幞ããªããšã«ããããè¡ãããšãã§ããå€ãã®ãµãŒãããŒãã£è£œåããããŸãã ãã®ãã¡ã®2ã€ã ããèããŠã¿ãŸãããïŒgzipã®äžŠåã¢ããã°-pigzãšbzip2ã®ã¢ããã°-pbzip2 ã ãããã®2ã€ã®ãŠãŒãã£ãªãã£ã¯ãæšæºã®Ubuntuãªããžããªã§å©çšã§ããŸãã
pigzã䜿çšããããšã¯ãã¹ã¬ããæ°ãšãããã¯ãµã€ãºãæå®ããæ©èœãé€ããŠãgzipã䜿çšããããšãšãŸã£ããéãã¯ãããŸããã ã»ãšãã©ã®å Žåããããã¯ãµã€ãºã¯ããã©ã«ãã®ãŸãŸã§ããŸããŸããããã¹ã¬ããã®æ°ãšããŠãã·ã¹ãã ã®ããã»ããµïŒã³ã¢ïŒã®æ°ã«çããïŒãŸãã¯1ã2以äžïŒæ°ã瀺ãããšãæãŸããã§ãã
$ pigz -c -p5 backup.tar > pigz-backup.tar.gz
620 MBã®backup.tarãã¡ã€ã«ã§ãã®ã³ãã³ããå®è¡ãããš12.8ç§ããããçµæã®ãã¡ã€ã«ã®ééã¯252.2 MBã«ãªããŸããã gzipã§åããã¡ã€ã«ãåŠçããïŒ
$ gzip -c backup.tar > gzip-backup.tar.gz
43ç§ããããŸããã åæã«ãçµæã®ãã¡ã€ã«ã®ééã¯ãåã®ãã¡ã€ã«ã®252.1 MBããã100 KBå°ãªããªããŸããã ç¹°ãè¿ãã«ãªããŸãããã»ãŒ4åã®å éãåŸãããŸãããããã¯æå ±ã§ãã
Pigzã¯å§çž®ã®ã¿ã䞊ååã§ããŸããã解åã¯ã§ããŸãããããã¯ãpbzip2ãšã¯èšããŸãã-äž¡æ¹ãè¡ãããšãã§ããŸãã ãŠãŒãã£ãªãã£ã®äœ¿çšã¯ãé䞊åããŒãžã§ã³ã«äŒŒãŠããŸãã
$ pbzip2 -c -p5 backup.tar > pbzip-backup.tar.bz2
åãbackup.tarãã¡ã€ã«ãåŠçããã®ã«38.8ç§ããããŸãããçµæã®ãã¡ã€ã«ã®ãµã€ãºã¯232.8 MBã§ããã éåžžã®bzip2ã䜿çšããå§çž®ã«ã¯1å53ç§ãããããã¡ã€ã«ãµã€ãºã¯232.7 MBã§ããã
ãã§ã«è¿°ã¹ãããã«ãpbzip2ã䜿çšãããšãå±éãé«éåã§ããŸãã ãã ããããã§ã¯1ã€ã®ãã¥ã¢ã³ã¹ãèæ ®ããå¿ èŠããããŸã-䞊è¡ããŠè§£åã§ããã®ã¯ã以åã«äžŠè¡ããŠããã¯ããããã®ãã€ãŸãpbzip2ã䜿çšããŠäœæãããã¢ãŒã«ã€ãã®ã¿ã§ãã éåžžã®bzip2ã¢ãŒã«ã€ãã®ããã€ãã®ã¹ããªãŒã ãžã®å±éã¯ã1ã€ã®ã¹ããªãŒã ã§å®è¡ãããŸãã ããŠãããã«ããã€ãã®æ°åïŒ
- éåžžã®é梱-40.1ç§;
- 5ã€ã®ã¹ããªãŒã ã§ã®ã¢ã³ããã¯-16.3ç§ã
pigzãšpbzip2ã䜿çšããŠäœæãããã¢ãŒã«ã€ãã¯ã察å¿ããéãã©ã¬ã«ã䜿çšããŠäœæãããã¢ãŒã«ã€ããšå®å šã«äºææ§ãããããšãè¿œå ããã ãã§ãã
æå·å
ããã©ã«ãã§ã¯ãeCryptfsã¯Ubuntuããã³ãã¹ãŠã®æŽŸçãã£ã¹ããªãã¥ãŒã·ã§ã³ã®ããŒã ãã£ã¬ã¯ããªã®æå·åã«äœ¿çšãããŸãã å·çæç¹ã§ã¯ãeCryptfsã¯ãã«ãã¹ã¬ããããµããŒãããŠããŸããã§ããã ããã¯ãå€æ°ã®å°ããªãã¡ã€ã«ããããã©ã«ããŒã§ç¹ã«é¡èã§ãã ãããã£ãŠããã«ãã³ã¢ã䜿çšããŠããå ŽåãeCryptfsã¯å®çšçã§ã¯ãããŸããã ããè¯ã代æ¿æ段ã¯ãdm-cryptãŸãã¯Truecryptã·ã¹ãã ã䜿çšããããšã§ãã 確ãã«ãããŒãã£ã·ã§ã³ãŸãã¯ã³ã³ããå šäœã®ã¿ãæå·åã§ããŸããããã«ãã¹ã¬ããããµããŒãããŠããŸãã
æ å ±
NetBSD 6.0 NPFãã±ãããã£ã«ã¿ãŒã䜿çšãããšãæå°æ°ã®ããã¯ã§äžŠåãã«ãã¹ã¬ãããã±ããåŠçãè¡ãããããã«ãã³ã¢ã·ã¹ãã ã§æ倧ã®ããã©ãŒãã³ã¹ãå®çŸã§ããŸãã
ãã£ã¹ã¯å šäœã§ã¯ãªãç¹å®ã®ãã£ã¬ã¯ããªã®ã¿ãæå·åããå Žåã¯ã EncFSãè©Šãããšãã§ããŸãã ããã¯eCryptfsãšéåžžã«ãã䌌ãŠããŸãããåŸè ãšã¯ç°ãªããã«ãŒãã«ã¢ãŒãã§ã¯ãªããFUSEã䜿çšããŠåäœããeCryptfsãããæœåšçã«é ããªããŸãã ãã ãããã«ãã¹ã¬ããããµããŒãããŠããããããã«ãã³ã¢ã·ã¹ãã ã§ã¯é床ãåäžããŸãã ããã«ãã€ã³ã¹ããŒã«ïŒã»ãšãã©ã®æšæºãªããžããªã§å©çšå¯èœïŒã¯éåžžã«ç°¡åã§ãã ããªããããå¿ èŠãããã®ã¯
$ encfs ~/.crypt-raw ~/crypt
ãã¹ãã¬ãŒãºãå ¥åããã ãã§ãã.crypt-rawã§ã¯æå·åããããã¡ã€ã«ãååšããcryptã§ã¯æå·åãããŠããªãããŒãžã§ã³ãååšããŸãã EncFSãã¢ã³ããŠã³ãããã«ã¯ã次ã®æé ãå®è¡ããŸãã
$ fusermount -u ~/name
ãã¡ãããããã¯ãã¹ãŠèªååã§ããŸãã ããã§ãããè¡ãæ¹æ³ã«ã€ããŠèªãããšãã§ããŸã ã
ã«ãŒãã«ãèãæ§åãèŠãã®ã奜ãã§ã
ããã»ããµãå®å šã«ããŒãããŸããããã®åäœãç£èŠããå¿ èŠãããå ŽåããããŸãã ååãšããŠãã»ãšãã©ãã¹ãŠã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã«ã¯ãåã ã®ã³ã¢ãŸãã¯ããã»ããµã«é¢ããæ å ±ãªã©ãããã»ããµã®äœ¿çšç¶æ³ãç£èŠããããã®åªããã¹ãããã€ã³ããããŸãã ããšãã°ãKubuntuã§ã¯ãKSysGuardã¯çŸåšã®ã«ãŒãã«è² è·ãéåžžã«ããŸã衚瀺ããŸãïŒç»é¢ãã¯ã¢ããã³ã¢ã·ã¹ãã äžã®KSysGuardããåç §ïŒã
ã¯ã¯ããã·ã¹ãã äžã®KSysGuard
ããããããã»ããµãçèã§ããä»ã®èå³æ·±ããŠãŒãã£ãªãã£ããããŸãã ã³ã³ãœãŒã«ãœãªã¥ãŒã·ã§ã³ã®ãã¡ã³ã¯ãããã«ã©ãã«ã§ã€ã³ã¿ã©ã¯ãã£ããªtopã®é¡äŒŒç©ã§ããhtopã奜ãã§ãããã ãŸãã匷åã§ç°¡åã«ã«ã¹ã¿ãã€ãºã§ããã·ã¹ãã ã¢ãã¿ãŒã§ããConkyã«æ³šæããããšããå§ãããŸãã åã³ã¢ãšããã»ããµå šäœã®è² è·ãç£èŠããããã«èšå®ããã®ã¯éåžžã«ç°¡åã§ãã ã³ã¢ããšã«ãåå¥ã®ã°ã©ãã衚瀺ã§ããŸãã ã¹ã¯ãªãŒã³ã·ã§ããã§ã¯ããŠãŒãã£ãªãã£èšå®ãªãã·ã§ã³ã確èªã§ããŸãã
ãããã³ã³ããŒã®ããã§ã
åäœäžã®Htop
ããã«æçš¿ãã察å¿ããæ§æãã¡ã€ã«ã®å 容ã ã¡ãªã¿ã«ããããã¯ãŒã¯ã«ã¯ãåºç€ãšããŠäœ¿çšããŠèªåã§ãªã¡ã€ã¯ã§ããèå³æ·±ãæ§æããããããããŸãã
ãã ãããããã®ãŠãŒãã£ãªãã£ã¯ãã¯ãŒã¯ããŒãã«é¢ããæ å ±ã®ã¿ãæäŸããŸãããå€ãã®å Žåãååã§ã¯ãããŸããã sysstatã³ã¬ã¯ã·ã§ã³ã®Mpstatã¯ãåã³ã¢ã®ã¢ã€ãã«æéãI / Oã®åŸ æ©ã«è²»ããããæéãå²ã蟌ã¿ã®åŠçã«è²»ããããæéãªã©ãããèå³æ·±ãæ å ±ãæäŸããŸãã
MpstatãŠãŒãã£ãªãã£ã®åºå
ã²ãŒã ã ãã§ãªãGPU
ææ°ã®GPUã®èšç®èœåãéåžžã«å€§ããããšã¯åšç¥ã®äºå®ã§ãã ããããGPUã³ã¢ã«ã¯ç¹å¥ãªã¢ãŒããã¯ãã£ãšäœ¿çšå¯èœãªã³ãã³ãã®éãããã»ããããããšããäºå®ã®ãããGPUã¯çãç¯å²ã®ã¿ã¹ã¯ã解決ããã®ã«ã®ã¿é©ããŠããŸãã 以åã¯ãã·ã§ãŒããŒã®é人ã ããGPUã³ã³ãã¥ãŒãã£ã³ã°ãå®è¡ã§ããŸããã çŸåšããããªã«ãŒãã¡ãŒã«ãŒã¯ããããžã§ã¯ãã§ã°ã©ãã£ãã¯ããã»ããµã®ãã¯ãŒã䜿çšãããæ奜家ãéçºè ã®ç掻ãç°¡çŽ åããããã«ãå¯èœãªãã¹ãŠãè¡ã£ãŠããŸããNVIDIAã®CUDAãAMD FireStreamããªãŒãã³ã¹ã¿ã³ããŒãOpenCL ã æ¯å¹ŽãGPUã³ã³ãã¥ãŒãã£ã³ã°ã¯ãŸããŸãã¢ã¯ã»ã¹ãããããªã£ãŠããŸãã
ããã·ã¥èšç®
ãããŸã§ãGPUã§èµ·åãããã¿ã¹ã¯ã®ãã¡ãããã·ã¥ã®èšç®ãããããæãäžè¬çã§ãã ãããŠãããã¯ãã¹ãŠãå®éã«ã¯ããã·ã¥ãèšç®ããããšã§ãããããã³ã€ã³ãã€ãã³ã°ã«ãããã®ã§ãã ã»ãšãã©ã®ãããã³ã€ã³ãã€ããŒã¯Linuxã§å©çšã§ããŸãã Bitcoinsããã€ãã³ã°ãããå Žåãããã³GPUãOpenCLããµããŒãããŠããå ŽåïŒCUDAããµããŒãããŠããå Žåã¯OpenCLãïŒã bfgminerã«æ³šæããããšããå§ãããŸã ïŒã»ããã¢ããã¯ããã»ã©ç°¡åã§ã¯ãããŸããããé«éã§äŸ¿å©ã§æ©èœçã§ãã
GPU Snortã¢ã¯ã»ã©ã¬ãŒã·ã§ã³
GnortãšåŒã°ããéåžžã«èå³æ·±ãæŠå¿µã¯ãã®ãªã·ã£ã®ç 究æFORTHïŒç 究æè¡è²¡å£-HellasïŒã®ç 究è ã«ãã£ãŠéçºãããŸããã 圌ãã¯ãæ£èŠè¡šçŸããã§ãã¯ããã³ãŒããGPUã«è»¢éããããšã§ãSnortæ»æã®æ€åºå¹çãé«ããããšãææ¡ããŠããŸãã å ¬åŒã®ç 究PDFã«èšèŒãããŠããã°ã©ãã«ãããšãSnortã®ã¹ã«ãŒãããã¯ã»ãŒ2åã«å¢å ããŸããã
ããããç§ãã¡ã¯åäžã®ãããã³ã€ã³ãšããŠçããŠããããã§ã¯ãããŸããã ãã«ãŒããã©ãŒã¹ããã·ã¥ã«GPUã®ãã¯ãŒã䜿çšããããšã劚ãããã®ã¯äœããããŸããïŒãã¹ã¯ãŒããå¿ããå Žåããã¡ãããã以äžã®ããšã¯ãããŸããïŒã ãã®åé¡ã解決ããããã«ã oclHashcat-plusãŠãŒãã£ãªãã£ã¯ããèªäœãå®èšŒæžã¿ã§ã-æ¬ç©ã®ããã·ã¥ããŒãã¹ã¿ã§ãã saltãSHA-1ãNTLMããã£ãã·ã¥ããããã¡ã€ã³ãã¹ã¯ãŒããMySQLããŒã¿ããŒã¹ãã¹ã¯ãŒããGRUBãã¹ã¯ãŒãã®æç¡ã«ãããããMD5ããã·ã¥ãååŸã§ããŸããããã¯ãªã¹ãã®ååã§ããããŸããã
GPUæå·å
KGPUãããžã§ã¯ãã®äžç°ãšããŠããŠã¿å€§åŠã®Weibin SunãšXing Linã®åŠçã¯ãGPU容éã®éåžžã«èå³æ·±ãã¢ããªã±ãŒã·ã§ã³ãçºè¡šããŸãã ã ãããžã§ã¯ãã®æ¬è³ªã¯ãLinuxã«ãŒãã«ã³ãŒãã®äžéšã®å®è¡ãCUDAäºæGPUã«è»¢éããããšã§ãã æåã®éçºè ã¯ãGPUã«AESã¢ã«ãŽãªãºã ãå°å ¥ããããšã«ããŸããã æ®å¿µãªããããããžã§ã¯ãã®éçºã¯ããã§åæ¢ããŸããããéçºè ã¯äœæ¥ãç¶ç¶ãããšçŽæããŸããã ãã ããããã«å ããŠãæ¢åã®ãšã¯ã¹ããªãšã³ã¹ã䜿çšããŠeCryptfsããã³dm-cryptã®AESæå·åãé«éåã§ããŸããã«ãŒãã«ããŒãžã§ã³3.0以éããµããŒããããŠããªãã®ã¯æ®å¿µã§ãã
GPUããã©ãŒãã³ã¹ã¢ãã¿ãªã³ã°
ã©ãããŠïŒãã¡ãããåã³ã¢GPUã®è² è·ã調ã¹ãããšã¯ã§ããŸããããGPUã§äœãèµ·ãã£ãŠãããã«ã€ããŠå°ãªããšãããã€ãã®æ å ±ãååŸã§ããŸããCUDA-Zããã°ã©ã ïŒã»ãŒWindows GPU-Zããã°ã©ã ã®é¡äŒŒç©ïŒã¯ãGPUã«é¢ããããŸããŸãªéçæ å ±ã«å ããŠãåçæ å ±ïŒGPUãšãã·ã³éã®ããŒã¿äº€æã®çŸåšã®é床ãããã³ããããå ã®ãã¹ãŠã®GPUã³ã¢ã®å šäœçãªããã©ãŒãã³ã¹ïŒãåä¿¡ã§ããŸãã
GPUããã©ãŒãã³ã¹æ å ±ãå«ãCUDA-Zã¿ã
çµè«
ãã«ãã³ã¢ãŸãã¯ãã«ãããã»ããµã®ã¯ãŒã¯ã¹ããŒã·ã§ã³ã¯ãç§ãã¡ã®æ¥åžžç掻ã«é·ãéå«ãŸããŠããŸãããããããæäœãããšããç§ãã¡ã®ã·ã³ã°ã«ã¹ã¬ããã®ã¢ãããŒããå€ããæãæ¥ãŸãããå®éããã®ãããªã·ã¹ãã ã§ã®ã¿ã¹ã¯ã®äžŠååã¯ããããŸã§èŠãŠããããã«ãæéã®å€§å¹ ãªå¢å ããããããŸãã
䟿å©ãªãªã³ã¯
- JVM Java EE :
bit.ly/JavaTuning- CPU MPI-: bit.ly/MPIbenchmark
- , , : https://boinc.berkeley.edu
2013幎10æä»ãã®Hackerèªã«æåã«æ²èŒãããŸããã
Issuu.comã«å ¬éãã
ããã«ãŒã賌èªãã