blob: fe06b920b7cf24c75bf3bd942e7a83312813080a [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>org.apache.sysds.runtime.controlprogram.parfor (SystemDS 2.1.0-SNAPSHOT API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="org.apache.sysds.runtime.controlprogram.parfor (SystemDS 2.1.0-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/rpc/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/opt/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/sysds/runtime/controlprogram/parfor/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="Package" class="title">Package&nbsp;org.apache.sysds.runtime.controlprogram.parfor</h1>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/CachedReuseVariables.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">CachedReuseVariables</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/DataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">DataPartitioner</a></td>
<td class="colLast">
<div class="block">This is the base class for all data partitioner.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerLocal.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">DataPartitionerLocal</a></td>
<td class="colLast">
<div class="block">Partitions a given matrix into row or column partitions with a two pass-approach.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerRemoteSpark.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">DataPartitionerRemoteSpark</a></td>
<td class="colLast">
<div class="block">MR job class for submitting parfor remote partitioning MR jobs.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerRemoteSparkMapper.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">DataPartitionerRemoteSparkMapper</a></td>
<td class="colLast">
<div class="block">NOTE: for the moment we only support binary block here
TODO extend impl for binarycell and textcell
Interface of Writable output in order to support both PairWritableBlock and PairWritableCell.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerRemoteSparkReducer.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">DataPartitionerRemoteSparkReducer</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/LocalParWorker.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">LocalParWorker</a></td>
<td class="colLast">
<div class="block">Instances of this class can be used to execute tasks in parallel.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/LocalTaskQueue.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">LocalTaskQueue</a>&lt;T&gt;</td>
<td class="colLast">
<div class="block">This class provides a way of dynamic task distribution to multiple workers
in local multi-threaded environments.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/ParForBody.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ParForBody</a></td>
<td class="colLast">
<div class="block">Wrapper for exchanging parfor body data structures.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/ParWorker.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ParWorker</a></td>
<td class="colLast">
<div class="block">Super class for master/worker pattern implementations.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/RemoteDPParForSpark.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">RemoteDPParForSpark</a></td>
<td class="colLast">
<div class="block">TODO heavy hitter maintenance
TODO data partitioning with binarycell</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/RemoteDPParForSparkWorker.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">RemoteDPParForSparkWorker</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/RemoteParForJobReturn.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">RemoteParForJobReturn</a></td>
<td class="colLast">
<div class="block">Wrapper for job return of ParFor REMOTE for transferring statistics and result symbol table.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/RemoteParForSpark.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">RemoteParForSpark</a></td>
<td class="colLast">
<div class="block">This class serves two purposes: (1) isolating Spark imports to enable running in
environments where no Spark libraries are available, and (2) to follow the same
structure as the parfor remote_mr job submission.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/RemoteParForSparkWorker.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">RemoteParForSparkWorker</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/RemoteParForUtils.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">RemoteParForUtils</a></td>
<td class="colLast">
<div class="block">Common functionalities for parfor workers in MR jobs.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/ResultMerge.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMerge</a></td>
<td class="colLast">
<div class="block">Due to independence of all iterations, any result has the following properties:
(1) non local var, (2) matrix object, and (3) completely independent.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/ResultMergeLocalAutomatic.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMergeLocalAutomatic</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/ResultMergeLocalFile.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMergeLocalFile</a></td>
<td class="colLast">
<div class="block">TODO potential extension: parallel merge (create individual staging files concurrently)
NOTE: file merge typically used due to memory constraints - parallel merge would increase the memory
consumption again.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/ResultMergeLocalMemory.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMergeLocalMemory</a></td>
<td class="colLast">
<div class="block">Local in-memory realization of result merge.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/ResultMergeRemoteGrouping.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMergeRemoteGrouping</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/ResultMergeRemoteSorting.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMergeRemoteSorting</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/ResultMergeRemoteSpark.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMergeRemoteSpark</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/ResultMergeRemoteSparkWCompare.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMergeRemoteSparkWCompare</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/ResultMergeTaggedMatrixIndexes.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMergeTaggedMatrixIndexes</a></td>
<td class="colLast">
<div class="block">This class serves as composite key for the remote result merge job
(for any data format) in order to sort on both matrix indexes and tag
but group all blocks according to matrix indexes only.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/Task.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">Task</a></td>
<td class="colLast">
<div class="block">A task is a logical group of one or multiple iterations (each iteration is assigned to exactly one task).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/TaskPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">TaskPartitioner</a></td>
<td class="colLast">
<div class="block">This is the base class for all task partitioner.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerFactoring.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">TaskPartitionerFactoring</a></td>
<td class="colLast">
<div class="block">This factoring task partitioner virtually iterates over the given FOR loop (from, to, incr),
creates iterations and group them to tasks.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerFactoringCmax.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">TaskPartitionerFactoringCmax</a></td>
<td class="colLast">
<div class="block">Factoring with maximum constraint (e.g., if LIX matrix out-of-core and we need
to bound the maximum number of iterations per map task -&gt; memory bounds)</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerFactoringCmin.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">TaskPartitionerFactoringCmin</a></td>
<td class="colLast">
<div class="block">Factoring with minimum constraint (e.g., if communication is expensive)</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerFixedsize.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">TaskPartitionerFixedsize</a></td>
<td class="colLast">
<div class="block">This naive task partitioner virtually iterates over the given FOR loop (from, to, incr),
creates iterations and group them to tasks according to the given task size.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerNaive.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">TaskPartitionerNaive</a></td>
<td class="colLast">
<div class="block">This static task partitioner virtually iterates over the given FOR loop (from, to, incr),
creates iterations and group them to tasks according to a task size of numIterations/numWorkers.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerStatic.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">TaskPartitionerStatic</a></td>
<td class="colLast">
<div class="block">This static task partitioner virtually iterates over the given FOR loop (from, to, incr),
creates iterations and group them to tasks according to a task size of numIterations/numWorkers.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Summary table, listing enums, and an explanation">
<caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Enum</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/Task.TaskType.html" title="enum in org.apache.sysds.runtime.controlprogram.parfor">Task.TaskType</a></td>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/sysds/runtime/controlprogram/paramserv/rpc/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../../../org/apache/sysds/runtime/controlprogram/parfor/opt/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/sysds/runtime/controlprogram/parfor/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>