# HG changeset patch # User Masataka Kohagura # Date 1388138672 -32400 # Node ID 0ce451f356224893e0d4b9e8f8d84018bbe99d7f # Parent dafc2806d6613ed0293ed222861996cba09c8b4b add 27th slide diff -r dafc2806d661 -r 0ce451f35622 Dec-2013/27th.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Dec-2013/27th.html Fri Dec 27 19:04:32 2013 +0900 @@ -0,0 +1,144 @@ + + + + + + + slide + + + + + + + + + +
+ + + +
+

+ Cerium Task Manager +
+ による正規表現の実装 +

+

+ Masataka Kohagura +
+ 27th December , 2013 +

+
+ +
+

+ 研究目的 +

+

+ 当研究室では、CellやマルチコアCPUで並列プログラミングを可能にするCerium Task Managerを開発している。 +

+

+ マルチコア CPU を最大限に活かすためには、プログラムの並列度を向上させなければならないが、実装が難しい。 + 当研究室では Cerium Libraryを提供することによって並列プログラミングを容易にしているが、ファイル読み込み等のI/O部分に関してはまだAPIが実装されていない。 +

+

+ 本研究ではその例題として正規表現を実装し、I/Oの順次読み込みとTaskの並列化の設計・実装によって既存の正規表現の処理速度、処理効率を上げる。 +

+ +
+ +
+

+ 今週のしたこと +

+
    + +
  • + filereadにdivide read、mmap readの実装と計測 +
  • + +
      +
+ + + + +
+

測定結果

+ +

Cerium APIでの計測

+

・MacBook Air(Intel Core i5 1.7GHz、SSD 240GB)

+

divide read

+ + + +
+ + + + + +
cpu_numtime(ms)
149.751
275.638
362.832
456.839
+ + + +

mmap 0.131(ms)

+

・firefly(6-Core Intel Xeon 2.66GHz、HDD 1TB)

+

divide read cpu_num=4 133.841(ms)

+

+

+

+

+ +
+ +
+

測定方法など

+
    +
  • + もしかして、Taskが起動している表示も時間に入っているんでは?? +
  • +
  • + 実験方法は、プログラムを起動するたんびにPCの再起動をして、キャッシュに格納された対象のテキストファイルを消した。 +
  • +
+ + +
+ + diff -r dafc2806d661 -r 0ce451f35622 Dec-2013/images/mapreduce.jpg Binary file Dec-2013/images/mapreduce.jpg has changed diff -r dafc2806d661 -r 0ce451f35622 Dec-2013/images/thinkread.graffle --- a/Dec-2013/images/thinkread.graffle Tue Dec 17 21:52:55 2013 +0900 +++ b/Dec-2013/images/thinkread.graffle Fri Dec 27 19:04:32 2013 +0900 @@ -26,7 +26,7 @@ MasterSheets ModificationDate - 2013-12-17 07:01:55 +0000 + 2013-12-18 14:12:30 +0000 Modifier MasaKoha NotesVisible @@ -62,16 +62,6 @@ int 0 - NSPrinter - - coded - BAtzdHJlYW10eXBlZIHoA4QBQISEhAlOU1ByaW50ZXIAhIQITlNPYmplY3QAhZKEhIQITlNTdHJpbmcBlIQBKwwxMzMuMTMuNDguOTiGhg== - - NSPrinterName - - string - 133.13.48.98 - NSRightMargin float @@ -3048,8 +3038,8 @@ 69 Points - {241.5386084675487, 250.3297425739903} - {217.68188693296207, 258.2823194116072} + {241.53854534919614, 250.31756993685434} + {217.66214843123544, 258.26610870088587} Style @@ -3083,8 +3073,8 @@ 68 Points - {241.51384454248947, 223.51991713855807} - {221.81175828275772, 224.69826052231628} + {241.51381074056448, 223.48834995274356} + {221.8007707746707, 224.64471774846484} Style @@ -3153,8 +3143,8 @@ 66 Points - {241.53995621038379, 122.27418291397464} - {218.08985450692779, 114.23511305765102} + {241.53889079096032, 122.47707073995667} + {217.77328175917563, 114.50565797847987} Style @@ -3462,7 +3452,7 @@ {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc -\f0\fs24 \cf0 grep} +\f0\fs24 \cf0 task} VerticalPad 0 @@ -3486,7 +3476,7 @@ {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc -\f0\fs24 \cf0 grep} +\f0\fs24 \cf0 task} VerticalPad 0 @@ -3510,7 +3500,7 @@ {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc -\f0\fs24 \cf0 grep} +\f0\fs24 \cf0 task} VerticalPad 0 @@ -3534,7 +3524,7 @@ {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc -\f0\fs24 \cf0 grep} +\f0\fs24 \cf0 task} VerticalPad 0 @@ -3887,7 +3877,7 @@ WindowInfo CurrentSheet - 1 + 2 ExpandedCanvases @@ -3896,7 +3886,7 @@ Frame - {{36, 529}, {751, 878}} + {{115, 0}, {751, 878}} ListView OutlineWidth @@ -3908,9 +3898,9 @@ SidebarWidth 120 VisibleRegion - {{-6.0909091106131052, 7.272727115095158}, {573.63635120313052, 712.7272572793255}} + {{28.571427197588086, 0.84033609404670839}, {530.25207534347305, 658.82349773261933}} Zoom - 1.1000000238418579 + 1.190000057220459 ZoomValues