当前,数据处理的并行化主要用于通过同时处理许多不同计算设备上的部分数据,然后组合结果来减少计算时间。并行执行可以“绕过” Rayleigh勋爵在1871年制定的基本定律,根据该定律(适用于处理器的散热),它们的散热功率与处理器时钟频率的四次方成正比(将频率加倍会增加16倍的散热量),实际上可以用并行计算机的数量-同时保持时钟频率)。没有什么是免费的-揭示(通常对于未启动的观察者来说是隐藏的,[1])算法中并行性的潜力并不在于表面,以及(并行)使用的有效性-甚至更多。
下面是最简单的评估表达式axb + a / c(a,b,c-输入数据)的并行性检测过程的说明。
a)-“操作员云”(未定义执行顺序),b)-完全顺序执行,未定义),b)-完全顺序执行,c)-并行执行
, . ( ) ( – ., ). .1 “ ”, ( ) .
(- ), . , . () . NP- [2], ( ) ( -). , “ ” (Data Science).
AlgoWiki [3].
, , c ILP (Instruction-Level Parallelism, , EPIC (Explicitly Parallel Instruction Computing, ). , .
() ( , ). (). “ - ”, ( ) , – () ). , (- ).
( ) - (), [4]. ( ).
( ) O(N2) , N – ( ), ( ) . ( ). .. , . , .
, , .
. ax2+bx+c=0.
( “ ”, 6 4- ). ( ) – 1- 4, 2,3,4 - 5- 6 . , ( ) ( ) ! – ( ).
( ) , - D-F SPF@home. http://vbakanov.ru/dataflow/content/installdf.exe http://vbakanov.ru/spf@home/content/installspf.exe ( - http://vbakanov.ru/dataflow/dataflow.htm http://vbakanov.ru/spf@home/spf@home.htm).
(set-) – gv- ( “ - ”, ( ) , – () ). , (- ).
() . “” .
Lua (Lua ANSI C, , - , ).
++, GUI Win’32- ( ) GIT-. ( ).
(Lua- “” API- SPF@home).
( D-F SPF@home ).
D-F (Data-Flow) , . 1 “Data-Flow” ( ), (), ; . - , , , “” . D-F , .
D-F , , . ( set- D-F, ):
, . D-F , - SPF@home. SPF@home gv- ( ), , Lua- ( API- , ):
CreateTiersByEdges("EdgesData.gv") -- EdgesData.gv
-- “”
-- CreateTiersByEdges_Bottom("EdgesData.gv") -- EdgesData.gv
-- “”
--
OpsOnTiers={} -- 1D- OpsOnTiers
for iTier=1,GetCountTiers() do --
OpsOnTiers[iTier]={} -- iTier- 2D- OpsOnTiers
for nOp=1,GetCountOpsOnTier(iTier) do -- iTier
OpsOnTiers[iTier][nOp]=GetOpByNumbOnTier(nOp,iTier) -- nOp
end end -- for iTier for nOp
gv- mvr med-, cls ops- . ( “-”, ) . , .
SPF@home “ ” , / ( ). med-.
, c ILP (Instruction-Level Parallelism, ), SPF@home .
.. Lua-, . ( ) :
I. “” ( ).
II. ( ).
III. .
( ) ; ( ).
, (, ) , , ( – ).
:
1) ( ) .
2) .
- . ( , , , ). “” API- “” ( , ).
“” ( ) ( ). “” “” ( ; “” ””).
( ) - “ ”, , “” . ( ). “” Windows- WinExec, ShellExecute CreateProcess, (, METIS -), Lua.
.6 ( ) “Bulldozer”, , “” “”.
, ( 1,5-2 ) , (- ).
.. ( Lua) (., c , , .).
SPF@home ( ) . , . ( ) ( , , ). , .
, ( ) .
1. .., .. . — .: -, 2002. — 608 c.
2. ., . . : — , , 2012. — 420 c.
3. AlgoWiki. . URL: http://algowiki-project.org ( 31.07.2020).
4. .. . . — .: -, 2018. — 390 .
5. Roberto Ierusalimschy. Programming in Lua. Third Edition. PUC-Rio, Brasil, Rio de Janeiro, 2013. — 348 p.