Files
pj2/doc/edu/rit/pjmr/util/ScatterFiles.html
2016-04-27 01:07:35 -04:00

321 lines
19 KiB
HTML

<!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 (version 1.7.0_51) on Wed Apr 06 13:11:06 EDT 2016 -->
<title>ScatterFiles (Parallel Java 2 Library Documentation)</title>
<meta name="date" content="2016-04-06">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ScatterFiles (Parallel Java 2 Library Documentation)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ScatterFiles.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-files/index-1.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li><a href="../../../../edu/rit/pjmr/util/ScatterLines.html" title="class in edu.rit.pjmr.util"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?edu/rit/pjmr/util/ScatterFiles.html" target="_top">Frames</a></li>
<li><a href="ScatterFiles.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All 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>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields_inherited_from_class_edu.rit.pj2.Job">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">edu.rit.pjmr.util</div>
<h2 title="Class ScatterFiles" class="title">Class ScatterFiles</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../edu/rit/pj2/Job.html" title="class in edu.rit.pj2">edu.rit.pj2.Job</a></li>
<li>
<ul class="inheritance">
<li>edu.rit.pjmr.util.ScatterFiles</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="strong">ScatterFiles</span>
extends <a href="../../../../edu/rit/pj2/Job.html" title="class in edu.rit.pj2">Job</a></pre>
<div class="block">Class ScatterFiles is a cluster parallel program for scattering the files in
a directory among the nodes of a cluster parallel computer.
<P>
Usage: <TT>java pj2 edu.rit.pjmr.util.ScatterFiles <I>nodes</I> <I>host</I>
<I>port</I> <I>directory</I></TT>
<BR><TT><I>nodes</I></TT> = List of one or more comma-separated backend node
names
<BR><TT><I>host</I></TT> = Frontend node host name or IP address
<BR><TT><I>port</I></TT> = Frontend node port number
<BR><TT><I>directory</I></TT> = Directory full pathname
<P>
The program reads files from the given <I>directory</I> on the cluster's
frontend node. The program scatters those files among the given backend
<I>nodes</I>. Each backend node stores its files in the given
<I>directory</I> also. The program distributes the files to the backend nodes
such that the files occupy about the same amount of storage on each backend
node. The program chooses the backend node to receive each frontend file in
an unspecified manner; any file could end up on any backend.
<P>
The program scatters only the files that reside in the given directory. The
program does not descend recursively into any subdirectories.
<P>
The files are transferred via a direct socket connection from the frontend
node to each backend node. The frontend node listens for connections on the
given <I>host</I> and <I>port</I>. The backend nodes connect to that host and
port.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields_inherited_from_class_edu.rit.pj2.Job">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;edu.rit.pj2.<a href="../../../../edu/rit/pj2/Job.html" title="class in edu.rit.pj2">Job</a></h3>
<code><a href="../../../../edu/rit/pj2/Job.html#ALL_CORES">ALL_CORES</a>, <a href="../../../../edu/rit/pj2/Job.html#ALL_GPUS">ALL_GPUS</a>, <a href="../../../../edu/rit/pj2/Job.html#ANY_NODE_NAME">ANY_NODE_NAME</a>, <a href="../../../../edu/rit/pj2/Job.html#DEFAULT_CHUNK">DEFAULT_CHUNK</a>, <a href="../../../../edu/rit/pj2/Job.html#DEFAULT_CORES">DEFAULT_CORES</a>, <a href="../../../../edu/rit/pj2/Job.html#DEFAULT_GPUS">DEFAULT_GPUS</a>, <a href="../../../../edu/rit/pj2/Job.html#DEFAULT_NODE_NAME">DEFAULT_NODE_NAME</a>, <a href="../../../../edu/rit/pj2/Job.html#DEFAULT_SCHEDULE">DEFAULT_SCHEDULE</a>, <a href="../../../../edu/rit/pj2/Job.html#DEFAULT_THREADS">DEFAULT_THREADS</a>, <a href="../../../../edu/rit/pj2/Job.html#DEFAULT_WORKERS">DEFAULT_WORKERS</a>, <a href="../../../../edu/rit/pj2/Job.html#dynamic">dynamic</a>, <a href="../../../../edu/rit/pj2/Job.html#fixed">fixed</a>, <a href="../../../../edu/rit/pj2/Job.html#guided">guided</a>, <a href="../../../../edu/rit/pj2/Job.html#jobFinish">jobFinish</a>, <a href="../../../../edu/rit/pj2/Job.html#jobLaunch">jobLaunch</a>, <a href="../../../../edu/rit/pj2/Job.html#jobStart">jobStart</a>, <a href="../../../../edu/rit/pj2/Job.html#leapfrog">leapfrog</a>, <a href="../../../../edu/rit/pj2/Job.html#makespan">makespan</a>, <a href="../../../../edu/rit/pj2/Job.html#proportional">proportional</a>, <a href="../../../../edu/rit/pj2/Job.html#remainingTuples">remainingTuples</a>, <a href="../../../../edu/rit/pj2/Job.html#STANDARD_CHUNK">STANDARD_CHUNK</a>, <a href="../../../../edu/rit/pj2/Job.html#taskArguments">taskArguments</a>, <a href="../../../../edu/rit/pj2/Job.html#taskFinish">taskFinish</a>, <a href="../../../../edu/rit/pj2/Job.html#taskInputTuples">taskInputTuples</a>, <a href="../../../../edu/rit/pj2/Job.html#taskLaunch">taskLaunch</a>, <a href="../../../../edu/rit/pj2/Job.html#taskOutputTuples">taskOutputTuples</a>, <a href="../../../../edu/rit/pj2/Job.html#taskStart">taskStart</a>, <a href="../../../../edu/rit/pj2/Job.html#THREADS_EQUALS_CORES">THREADS_EQUALS_CORES</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../edu/rit/pjmr/util/ScatterFiles.html#ScatterFiles()">ScatterFiles</a></strong>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../edu/rit/pjmr/util/ScatterFiles.html#main(java.lang.String[])">main</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</code>
<div class="block">Job main program.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_edu.rit.pj2.Job">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;edu.rit.pj2.<a href="../../../../edu/rit/pj2/Job.html" title="class in edu.rit.pj2">Job</a></h3>
<code><a href="../../../../edu/rit/pj2/Job.html#chunk()">chunk</a>, <a href="../../../../edu/rit/pj2/Job.html#chunk(int)">chunk</a>, <a href="../../../../edu/rit/pj2/Job.html#cores()">cores</a>, <a href="../../../../edu/rit/pj2/Job.html#cores(int)">cores</a>, <a href="../../../../edu/rit/pj2/Job.html#debug(edu.rit.pj2.Debug...)">debug</a>, <a href="../../../../edu/rit/pj2/Job.html#debug(edu.rit.pj2.Debug)">debug</a>, <a href="../../../../edu/rit/pj2/Job.html#debug(java.util.Set)">debug</a>, <a href="../../../../edu/rit/pj2/Job.html#execute()">execute</a>, <a href="../../../../edu/rit/pj2/Job.html#gpus()">gpus</a>, <a href="../../../../edu/rit/pj2/Job.html#gpus(int)">gpus</a>, <a href="../../../../edu/rit/pj2/Job.html#jar()">jar</a>, <a href="../../../../edu/rit/pj2/Job.html#jar(java.io.File)">jar</a>, <a href="../../../../edu/rit/pj2/Job.html#jvmFlags()">jvmFlags</a>, <a href="../../../../edu/rit/pj2/Job.html#jvmFlags(java.lang.String...)">jvmFlags</a>, <a href="../../../../edu/rit/pj2/Job.html#listenHost()">listenHost</a>, <a href="../../../../edu/rit/pj2/Job.html#listenHost(java.lang.String)">listenHost</a>, <a href="../../../../edu/rit/pj2/Job.html#listenPort()">listenPort</a>, <a href="../../../../edu/rit/pj2/Job.html#listenPort(int)">listenPort</a>, <a href="../../../../edu/rit/pj2/Job.html#masterChunk()">masterChunk</a>, <a href="../../../../edu/rit/pj2/Job.html#masterChunk(int)">masterChunk</a>, <a href="../../../../edu/rit/pj2/Job.html#masterFor(int, int, java.lang.Class)">masterFor</a>, <a href="../../../../edu/rit/pj2/Job.html#masterFor(long, long, java.lang.Class)">masterFor</a>, <a href="../../../../edu/rit/pj2/Job.html#masterSchedule()">masterSchedule</a>, <a href="../../../../edu/rit/pj2/Job.html#masterSchedule(edu.rit.pj2.Schedule)">masterSchedule</a>, <a href="../../../../edu/rit/pj2/Job.html#nodeName()">nodeName</a>, <a href="../../../../edu/rit/pj2/Job.html#nodeName(java.lang.String)">nodeName</a>, <a href="../../../../edu/rit/pj2/Job.html#putTuple(int, edu.rit.pj2.Tuple)">putTuple</a>, <a href="../../../../edu/rit/pj2/Job.html#putTuple(edu.rit.pj2.Tuple)">putTuple</a>, <a href="../../../../edu/rit/pj2/Job.html#rule()">rule</a>, <a href="../../../../edu/rit/pj2/Job.html#rule(edu.rit.util.Action)">rule</a>, <a href="../../../../edu/rit/pj2/Job.html#schedule()">schedule</a>, <a href="../../../../edu/rit/pj2/Job.html#schedule(edu.rit.pj2.Schedule)">schedule</a>, <a href="../../../../edu/rit/pj2/Job.html#threads()">threads</a>, <a href="../../../../edu/rit/pj2/Job.html#threads(int)">threads</a>, <a href="../../../../edu/rit/pj2/Job.html#timeLimit()">timeLimit</a>, <a href="../../../../edu/rit/pj2/Job.html#timeLimit(int)">timeLimit</a>, <a href="../../../../edu/rit/pj2/Job.html#trackerHost()">trackerHost</a>, <a href="../../../../edu/rit/pj2/Job.html#trackerHost(java.lang.String)">trackerHost</a>, <a href="../../../../edu/rit/pj2/Job.html#trackerPort()">trackerPort</a>, <a href="../../../../edu/rit/pj2/Job.html#trackerPort(int)">trackerPort</a>, <a href="../../../../edu/rit/pj2/Job.html#workers()">workers</a>, <a href="../../../../edu/rit/pj2/Job.html#workers(int)">workers</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="ScatterFiles()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ScatterFiles</h4>
<pre>public&nbsp;ScatterFiles()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="main(java.lang.String[])">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>main</h4>
<pre>public&nbsp;void&nbsp;main(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Job main program.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../edu/rit/pj2/Job.html#main(java.lang.String[])">main</a></code>&nbsp;in class&nbsp;<code><a href="../../../../edu/rit/pj2/Job.html" title="class in edu.rit.pj2">Job</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>args</code> - Array of zero or more command line argument strings.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - The <TT>main()</TT> method can throw any exception.</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ScatterFiles.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-files/index-1.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li><a href="../../../../edu/rit/pjmr/util/ScatterLines.html" title="class in edu.rit.pjmr.util"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?edu/rit/pjmr/util/ScatterFiles.html" target="_top">Frames</a></li>
<li><a href="ScatterFiles.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All 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>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields_inherited_from_class_edu.rit.pj2.Job">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><FONT SIZE="-2">Copyright &copy; 2013&ndash;2016 by Alan Kaminsky. All rights reserved. Send comments to ark</FONT><FONT SIZE="1" COLOR="#FFFFFF">&shy;</FONT><FONT SIZE="-2">&#64;</FONT><FONT SIZE="1" COLOR="#FFFFFF">&shy;</FONT><FONT SIZE="-2">cs.rit.edu.</FONT></small></p>
</body>
</html>