# HG changeset patch # User Masataka Kohagura # Date 1393332027 -32400 # Node ID 6bddfb10df1139d93fb4694b44da467b112f5c8d # Parent 286a8f57becf35253846320e54016aee897d975c fix diff -r 286a8f57becf -r 6bddfb10df11 paper/chapter4.tex --- a/paper/chapter4.tex Tue Feb 25 14:33:01 2014 +0900 +++ b/paper/chapter4.tex Tue Feb 25 21:40:27 2014 +0900 @@ -132,7 +132,7 @@ \section{I/O 専用 thread の実装} Cerium Task Manager では、各種 Task にデバイスを設定することができる。デバイスとは、GPU や CPU であり、GPUを利用するときは GPU\_ANY、CPU を利用するときは SPE\_ANYと設定することによってデバイスを利用できる。 -SPE\_ANY を使用すると、Task Manager で CPU の割り振りを自動的に行ってくれる便利な機能である。しかし、この機能を使用すると、Blocked Read に影響を与えてしまう。 +SPE\_ANY を使用すると、Task Manager で CPU の割り振りを自動的に行う。しかし、この機能を使用すると、Blocked Read に影響を与えてしまう。 Blocked Read 、Task それぞれに SPE\_ANY で CPUを自動的に割り振ると、Task Manager 側で自動的に CPU を割り当てる。このように CPU を割り当ててしまうと、本来 Blocked Read は連続で読み込むはずが、他の Task を割り当てられてしまう。 (図\ref{fig:speany}) @@ -145,10 +145,10 @@ \label{fig:speany} \end{figure} -この問題を解決するために、Task Manager に新しく I/O 専用の thread を用意した。 +この問題を解決するために、Task Manager に新しく I/O 専用の thread を用意した。(図\ref{fig:addio0}) %この問題を解決するために、Task Manager に IO\_0という新しいデバイス設定を追加した。 -この設定は他のデバイス設定よりも priority を高く設定している。(\ref{fig:addio0}) +この設定は他のデバイス設定よりも priority を高く設定している。 \begin{figure}[htbp] \begin{center} @@ -158,13 +158,40 @@ \label{fig:addio0} \end{figure} -SPE\_ANY よりも高く設定しているので、IO\_0 で設定を行う Read Task に SPE\_ANY で設定した 文字列検索 Task に割り込まれることがなくなる。 +SPE\_ANY で使用する CPU の設定よりも高く設定しているので、IO\_0 で設定を行う Read Task に SPE\_ANY で設定した 文字列検索 Task に割り込まれることがなくなる。 (図\ref{fig:io0}) \begin{figure}[htbp] \begin{center} \includegraphics[width=1.0\textwidth]{fig/io0.pdf} \end{center} -\caption{[image]priority を上げたときの image 図} +\caption{Blocked Read Task を IO\_0 での実装時} \label{fig:io0} \end{figure} + +\newpage +IO\_0 の priority を高く実装したソースコードは以下のようになる。 +\begin{breakbox} +\begin{verbatim} +void * +CpuThreads::cpu_thread_run(void *args) +{ + cpu_thread_arg_t *argt = (cpu_thread_arg_t *) args; + + ・・・ + + if (argt->cpuid >= argt->cpu_num) { + // set IO thread priory maximum + int policy; + struct sched_param param; + pthread_getschedparam(pthread_self(), &policy, ¶m); + param.sched_priority = 1; + pthread_setschedparam(pthread_self(), policy, ¶m); + } + + return NULL; +} +\end{verbatim} +\end{breakbox} + +(ソース説明) diff -r 286a8f57becf -r 6bddfb10df11 paper/fig/blockread.graffle --- a/paper/fig/blockread.graffle Tue Feb 25 14:33:01 2014 +0900 +++ b/paper/fig/blockread.graffle Tue Feb 25 21:40:27 2014 +0900 @@ -26,7 +26,7 @@ MasterSheets ModificationDate - 2014-02-24 09:48:59 +0000 + 2014-02-25 12:26:02 +0000 Modifier masataka kohagura NotesVisible @@ -28341,7 +28341,7 @@ Points {157.72335141816603, 232.07150597754608} - {157.72338344326749, 248.5065476340697} + {157.72338344326747, 248.5065476340697} Style @@ -36819,6 +36819,1212 @@ GraphicsList + Bounds + {{349.83002928005732, 112.35235622913868}, {108.41831207275391, 14}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 83 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 wait for Output Data} + VerticalPad + 0 + + + + Bounds + {{243.64874258292048, 73.25925488982746}, {108.41831207275391, 14}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 82 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 spawn Output Data} + VerticalPad + 0 + + + + Bounds + {{165.26627324696224, 59.259258212703131}, {81.463137313527341, 28}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 81 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 wait for\ +file read} + VerticalPad + 0 + + + + AllowToConnect + + Class + LineGraphic + ID + 87 + Points + + {369.32896222233944, 253.9936572872839} + {407.76977495207439, 211.54560281664553} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + TailArrow + Arrow + + + + + AllowToConnect + + Class + LineGraphic + ID + 73 + Points + + {369.32894897460938, 233.82559103016305} + {395.58490270484458, 206.51466797364506} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + TailArrow + Arrow + + + + + AllowToConnect + + Class + LineGraphic + ID + 72 + Points + + {369.32894897460938, 160.7163508481004} + {395.58490158839709, 188.67089596956819} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + TailArrow + Arrow + + + + + AllowToConnect + + Class + LineGraphic + Head + + ID + 62 + + ID + 70 + Points + + {369.32896222233944, 143.48946092014191} + {419.50243577478443, 184.18386725525298} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + TailArrow + Arrow + + + + + Class + LineGraphic + Head + + ID + 52 + + ID + 69 + Points + + {293.77336668065089, 261.76210954640061} + {264.53048820004096, 269.97740650994837} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + TailArrow + FilledArrow + + + Tail + + ID + 60 + + + + Class + LineGraphic + Head + + ID + 51 + + ID + 68 + Points + + {287.36645562654638, 234.7032853856476} + {267.69540837965349, 235.6672055667959} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + TailArrow + FilledArrow + + + Tail + + ID + 59 + + + + Class + LineGraphic + Head + + ID + 50 + + ID + 67 + Points + + {287.36642220845039, 159.77561736965555} + {267.69542393572857, 158.81171150147918} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + TailArrow + FilledArrow + + + Tail + + ID + 55 + + + + Class + LineGraphic + Head + + ID + 28 + + ID + 66 + Points + + {293.77328244680677, 132.71676848016759} + {264.53050935538141, 124.50151658384615} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + TailArrow + FilledArrow + + + Tail + + ID + 54 + + + + Class + LineGraphic + Head + + ID + 52 + + ID + 65 + Points + + {183.49285030115306, 262.43781723862367} + {191.80789890658932, 253.29921570905844} + {212.35765330484233, 253.29921570905844} + {225.76468571828983, 264.56145477864015} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + TailArrow + Arrow + + + Tail + + ID + 47 + + + + Class + LineGraphic + Head + + ID + 51 + + ID + 64 + Points + + {182.19324748926189, 222.64794375790373} + {191.80789376886767, 210.89872323676454} + {212.35764816712063, 210.89872323676454} + {226.85845272979398, 224.44266155136057} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + TailArrow + Arrow + + + Tail + + ID + 46 + + + + Class + LineGraphic + ID + 63 + Points + + {180.27231672314932, 143.53164879550511} + {191.80790294741374, 132.85200477392701} + {212.35765734566669, 132.85200477392701} + {225.81004116434357, 145.30621858185688} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + TailArrow + Arrow + + + + + Class + LineGraphic + Head + + ID + 28 + + ID + 35 + Points + + {183.25662822953271, 103.34382564020828} + {192.76627965277558, 92.697403177720687} + {213.31603405102859, 92.697403177720687} + {226.76841786970544, 105.15161698565052} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + TailArrow + Arrow + + + Tail + + ID + 1 + + + + Bounds + {{390.63884893286468, 183.59107764089654}, {90.731513977050781, 27.954545768578228}} + Class + ShapedGraphic + ID + 62 + Shape + Circle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Result Task} + VerticalPad + 0 + + + + Bounds + {{287.86584946941747, 242.33088234514204}, {81.463103909583637, 19.295995712280273}} + Class + ShapedGraphic + ID + 60 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Output Data} + + + + Bounds + {{287.86585639268458, 223.03488938207519}, {81.463103909583637, 19.295995712280273}} + Class + ShapedGraphic + ID + 59 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Output Data} + + + + Class + LineGraphic + ID + 58 + Points + + {327.84303487611038, 183.26216910861453} + {327.84303487611038, 211.2167148771924} + + Style + + stroke + + HeadArrow + 0 + Legacy + + Pattern + 2 + TailArrow + 0 + + + + + Bounds + {{287.86582298874123, 152.14799269137089}, {81.463103909583637, 19.295995712280273}} + Class + ShapedGraphic + ID + 55 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Output Data} + + + + Bounds + {{287.86582991200845, 132.85199972830398}, {81.463103909583637, 19.295995712280273}} + Class + ShapedGraphic + ID + 54 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 Output Data} + + + + Bounds + {{213.31602108687596, 262.80766376930353}, {54, 27.954545768578228}} + Class + ShapedGraphic + ID + 52 + Shape + Circle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 task} + VerticalPad + 0 + + + + Bounds + {{213.31602108687596, 223.03493092281334}, {54, 27.954545768578228}} + Class + ShapedGraphic + ID + 51 + Shape + Circle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 task} + VerticalPad + 0 + + + + Bounds + {{213.31603405102854, 143.48945685495173}, {54, 27.954545768578228}} + Class + ShapedGraphic + ID + 50 + Shape + Circle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 task} + VerticalPad + 0 + + + + Bounds + {{213.31603405102859, 103.71672400846133}, {54, 27.954545768578228}} + Class + ShapedGraphic + ID + 28 + Shape + Circle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 task} + VerticalPad + 0 + + + + Class + LineGraphic + ID + 48 + Points + + {165.26627488093757, 183.26218666204076} + {165.26627488093757, 211.21673243061869} + + Style + + stroke + + HeadArrow + 0 + Legacy + + Pattern + 2 + TailArrow + 0 + + + + + Bounds + {{138.76627276886592, 262.80764162659648}, {63.344825298837208, 27.954545768578228}} + Class + ShapedGraphic + ID + 47 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 File Read} + + + + Bounds + {{138.76627276886592, 223.03489581595906}, {63.344825298837208, 27.954545768578228}} + Class + ShapedGraphic + ID + 46 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 File Read} + + + + Bounds + {{138.76627276886592, 143.48945226567864}, {63.344825298837208, 27.954545768578228}} + Class + ShapedGraphic + ID + 45 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 File Read} + + + + Bounds + {{138.76628084405212, 103.71672630309789}, {63.344825298837208, 27.954545768578228}} + Class + ShapedGraphic + ID + 1 + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 File Read} + + + + Bounds + {{99.999998233936481, 289.710876759602}, {35.433071398293073, 14}} + Class + ShapedGraphic + FitText + Vertical + Flow + Resize + ID + 44 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Pad + 0 + Text + {\rtf1\ansi\ansicpg932\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 FILE} + VerticalPad + 0 + + + + Class + LineGraphic + ID + 43 + Points + + {117.21652858486596, 262.80763005446465} + {117.21652858486596, 290.76217582304253} + + Style + + stroke + + HeadArrow + NegativeControls + Legacy + + TailArrow + NegativeControls + + + + + Class + LineGraphic + ID + 42 + Points + + {117.21652858486596, 223.03490154432578} + {117.21652858486596, 250.98944731290354} + + Style + + stroke + + HeadArrow + NegativeControls + Legacy + + TailArrow + NegativeControls + + + + + Class + LineGraphic + ID + 40 + Points + + {117.21652858486601, 183.26217787078312} + {117.21652858486601, 211.21672363936099} + + Style + + stroke + + HeadArrow + 0 + Legacy + + Pattern + 2 + TailArrow + 0 + + + + + Class + LineGraphic + ID + 39 + Points + + {117.21653342146274, 143.48945705826318} + {117.21653342146274, 171.44400282684146} + + Style + + stroke + + HeadArrow + NegativeControls + Legacy + + TailArrow + NegativeControls + + + + + Class + LineGraphic + ID + 38 + Points + + {117.21652858486607, 103.71672957002347} + {117.21652858486607, 131.6712753386017} + + Style + + stroke + + HeadArrow + NegativeControls + Legacy + + TailArrow + NegativeControls + + + + + GridInfo + + HPages + 1 + KeepToScale + + Layers + + + Lock + NO + Name + レイヤー 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + Orientation + 2 + PrintOnePage + + RowAlign + 1 + RowSpacing + 36 + SheetTitle + キャンバス 21 + UniqueID + 23 + VPages + 1 + + + ActiveLayerIndex + 0 + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {558.99997329711914, 783}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + DisplayScale + 1 0/72 in = 1.0000 in + GraphicsList + + Class LineGraphic Head @@ -36865,8 +38071,8 @@ 51 Points - {121.35421405866239, 177.31362701255151} - {123.14540006458277, 203.20489457295614} + {121.35419690447667, 177.313627049985} + {123.14535318667582, 203.20489465062303} Style @@ -36963,8 +38169,8 @@ 48 Points - {124.30637384751844, 233.09257366832264} - {124.5596274084397, 262.83334060157586} + {124.30637353461616, 233.09257366832279} + {124.55962647283349, 262.8333406015845} Style @@ -37110,8 +38316,8 @@ 40 Points - {403.59382811493339, 292.35182848951348} - {403.64431514489542, 316.72218912963075} + {403.59396363602571, 292.35182848870994} + {403.6446716642937, 316.72218908966272} Style @@ -37292,8 +38498,8 @@ 30 Points - {403.56304284685962, 233.46295594362414} - {403.5633814561657, 262.46294025488294} + {403.56288853323679, 233.46295594362397} + {403.56292769396885, 262.46294025487464} Style @@ -37418,8 +38624,8 @@ 26 Points - {322.4174582106013, 218.29040314444234} - {352.95783888363394, 218.37625532453504} + {322.4174582106013, 218.29040313965595} + {352.95783888363394, 218.37625531686001} Style @@ -37537,8 +38743,8 @@ 15 Points - {221.22318776784829, 136.39856705596634} - {167.05098451030736, 150.34218939748794} + {221.22318776784829, 136.3985670559714} + {167.05098451030736, 150.34218939749883} Style @@ -37572,8 +38778,8 @@ 14 Points - {360.67788647489022, 149.63888940375787} - {314.68249365772874, 137.10721546307607} + {360.6778899855093, 149.63755189528572} + {314.68250063891441, 137.10456144123449} Style @@ -37607,8 +38813,8 @@ 13 Points - {407.40662155379846, 87.907401162756742} - {407.40648048194021, 147.42592798173524} + {407.40664071342786, 87.907401162756742} + {407.40664071342786, 147.42592798173553} Style @@ -38144,8 +39350,8 @@ 40 Points - {403.59398321789575, 292.35182848870966} - {403.64472317891733, 316.72218908964658} + {403.5939860473419, 292.35182848870966} + {403.64473062242774, 316.72218908964658} Style @@ -38452,8 +39658,8 @@ 26 Points - {322.4174582106013, 218.29040313779441} - {352.95783888363394, 218.37625531387505} + {322.4174582106013, 218.29040313707046} + {352.95783888363394, 218.37625531271416} Style @@ -38571,8 +39777,8 @@ 15 Points - {221.22318776784829, 136.39856705597245} - {167.05098451030736, 150.34218939750116} + {221.22318776784829, 136.39856705597271} + {167.05098451030736, 150.34218939750167} Style @@ -38606,8 +39812,8 @@ 14 Points - {360.67789088236265, 149.6372122094283} - {314.68250239440016, 137.10388739400713} + {360.67789111602877, 149.63712594094957} + {314.68250282392256, 137.10371620165293} Style @@ -39106,7 +40312,7 @@ ExpandedCanvases Frame - {{1149, 943}, {1184, 874}} + {{746, 1266}, {1184, 874}} ListView OutlineWidth @@ -39120,7 +40326,7 @@ SidebarWidth 120 VisibleRegion - {{-108.99999999999999, 20.740740374446084}, {777.03702331406942, 544.44443482920974}} + {{-108.99999999999999, 0}, {777.03702331406942, 544.44443482920974}} Zoom 1.3500000238418579 ZoomValues @@ -39225,6 +40431,11 @@ 1.3500000238418579 1 + + キャンバス 21 + 1.3500000238418579 + 1 + diff -r 286a8f57becf -r 6bddfb10df11 paper/thesis-paper.pdf Binary file paper/thesis-paper.pdf has changed diff -r 286a8f57becf -r 6bddfb10df11 preliminary/final-thesis.pdf Binary file preliminary/final-thesis.pdf has changed diff -r 286a8f57becf -r 6bddfb10df11 preliminary/final-thesis.tex --- a/preliminary/final-thesis.tex Tue Feb 25 14:33:01 2014 +0900 +++ b/preliminary/final-thesis.tex Tue Feb 25 21:40:27 2014 +0900 @@ -24,8 +24,7 @@ \maketitle \thispagestyle{fancy} -\section{はじめに} -\subsection{研究背景と目的} +\section{研究背景と目的} 近年、CPU 1 コア当たりのクロック数が頭打ちとなっているため、シングルコアでの処理能力はほとんど上がっていない。 それを解決した結果、シングルコアからマルチコアへの移行によって CPU 性能が向上している。 しかし、マルチコア CPU を最大限に活かすためには、プログラムの並列度を向上させなければならない。 @@ -42,14 +41,14 @@ Cerium Task ManagerはPlayStation 3/Cell、Mac OS X及びLinux上で利用することが可能で、近年ではGPUでの利用も可能となった。\cite{tomari} \section{I/O を含む Task の概要} -ファイルを読み込んで一定の大きさでファイルを分割し (File Read)、それらに対してそれぞれ文字列検索等の処理 (Run Tasks)を行う。 -そしてそれぞれの処理から返されたの結果 (Output Data)を最後に集計をして結果を返す(Run resultTask)。(図\ref{fig:includeio}) +ファイルを読み込んで一定の大きさでファイルを分割し (File Read)、それらに対してそれぞれ文字列検索等の処理 (Task)を行う。 +そしてそれぞれの処理から返されたの結果 (Output Data)を最後に集計をして結果を返す(Result Task)。(図\ref{fig:includeio}) 図\ref{fig:includeio} \begin{figure}[htbp] \begin{center} -\includegraphics[width=0.4\textwidth]{pic/includeio.pdf} +\includegraphics[width=0.5\textwidth]{pic/includeio.pdf} \end{center} \caption{I/O を含む Task} \label{fig:includeio} @@ -85,9 +84,9 @@ \subsection{I/O 専用 thread の実装} Cerium Task Manager では Task 単位で CPU Type の設定を変更することができる。 SPE\_ANY という Type を設定すると、Cerium Task Manager 側が自動的に CPU を割り振る。 -しかし、今回の実装でこの Type を使用してしまうと、Blocked Read Task の隙間時間に Task が割り振られてしまう問題がある。 -その問題を解決するために、IO\_0 という Type を新しく実装した。 -IO\_0 は他の Type よりも priority を高く設定しているため、他の Task に割り込まれることがないようチューニングを行った。 +しかし、今回の実装でこの Type を使用してしまうと、Blocked Read Task に割り込んで Task が割り振られてしまう問題がある。 +その問題を解決するために、IO\_0 という I/O 専用の thread を実装した。 +この Thread は I/O を最優先に実行されるようにチューニングを行った。 (図\ref{fig:io0}) %% %(図\ref{fig:speany})