blob: 0cac4e2d4e8a84f70f409560f34b71c6f7f74c22 [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>RegionPlacementMaintainer.RandomizedMatrix (Apache HBase 3.0.0-alpha-2-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="RegionPlacementMaintainer.RandomizedMatrix (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</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><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/RegionPlacementMaintainer.RandomizedMatrix.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/hadoop/hbase/master/RegionPlacementMaintainer.html" title="class in org.apache.hadoop.hbase.master"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlan.html" title="class in org.apache.hadoop.hbase.master"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/master/RegionPlacementMaintainer.RandomizedMatrix.html" target="_top">Frames</a></li>
<li><a href="RegionPlacementMaintainer.RandomizedMatrix.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>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">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><a href="#field.detail">Field</a>&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">org.apache.hadoop.hbase.master</div>
<h2 title="Class RegionPlacementMaintainer.RandomizedMatrix" class="title">Class RegionPlacementMaintainer.RandomizedMatrix</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/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>org.apache.hadoop.hbase.master.RegionPlacementMaintainer.RandomizedMatrix</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Enclosing class:</dt>
<dd><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html" title="class in org.apache.hadoop.hbase.master">RegionPlacementMaintainer</a></dd>
</dl>
<hr>
<br>
<pre>protected static class <a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#line.506">RegionPlacementMaintainer.RandomizedMatrix</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">Some algorithms for solving the assignment problem may traverse workers or
jobs in linear order which may result in skewing the assignments of the
first jobs in the matrix toward the last workers in the matrix if the
costs are uniform. To avoid this kind of clumping, we can randomize the
rows and columns of the cost matrix in a reversible way, such that the
solution to the assignment problem can be interpreted in terms of the
original untransformed cost matrix. Rows and columns are transformed
independently such that the elements contained in any row of the input
matrix are the same as the elements in the corresponding output matrix,
and each row has its elements transformed in the same way. Similarly for
columns.</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>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.RandomizedMatrix.html#colInverse">colInverse</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.RandomizedMatrix.html#cols">cols</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.RandomizedMatrix.html#colTransform">colTransform</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.RandomizedMatrix.html#rowInverse">rowInverse</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.RandomizedMatrix.html#rows">rows</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.RandomizedMatrix.html#rowTransform">rowTransform</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" 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><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.RandomizedMatrix.html#RandomizedMatrix-int-int-">RandomizedMatrix</a></span>(int&nbsp;rows,
int&nbsp;cols)</code>
<div class="block">Create a randomization scheme for a matrix of a given size.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>float[][]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.RandomizedMatrix.html#invert-float:A:A-">invert</a></span>(float[][]&nbsp;matrix)</code>
<div class="block">Copy a given matrix into a new matrix, transforming each row index and
each column index according to the inverse of the randomization scheme
that was created at construction time.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.RandomizedMatrix.html#invertIndices-int:A-">invertIndices</a></span>(int[]&nbsp;indices)</code>
<div class="block">Given an array where each element <code>indices[i]</code> represents the
randomized column index corresponding to randomized row index <code>i</code>,
create a new array with the corresponding inverted indices.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>float[][]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlacementMaintainer.RandomizedMatrix.html#transform-float:A:A-">transform</a></span>(float[][]&nbsp;matrix)</code>
<div class="block">Copy a given matrix into a new matrix, transforming each row index and
each column index according to the randomization scheme that was created
at construction time.</div>
</td>
</tr>
</table>
<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="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/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">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="rows">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rows</h4>
<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.RandomizedMatrix.html#line.507">rows</a></pre>
</li>
</ul>
<a name="cols">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cols</h4>
<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.RandomizedMatrix.html#line.508">cols</a></pre>
</li>
</ul>
<a name="rowTransform">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rowTransform</h4>
<pre>private final&nbsp;int[] <a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.RandomizedMatrix.html#line.509">rowTransform</a></pre>
</li>
</ul>
<a name="rowInverse">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rowInverse</h4>
<pre>private final&nbsp;int[] <a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.RandomizedMatrix.html#line.510">rowInverse</a></pre>
</li>
</ul>
<a name="colTransform">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>colTransform</h4>
<pre>private final&nbsp;int[] <a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.RandomizedMatrix.html#line.511">colTransform</a></pre>
</li>
</ul>
<a name="colInverse">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>colInverse</h4>
<pre>private final&nbsp;int[] <a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.RandomizedMatrix.html#line.512">colInverse</a></pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="RandomizedMatrix-int-int-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>RandomizedMatrix</h4>
<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.RandomizedMatrix.html#line.519">RandomizedMatrix</a>(int&nbsp;rows,
int&nbsp;cols)</pre>
<div class="block">Create a randomization scheme for a matrix of a given size.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rows</code> - the number of rows in the matrix</dd>
<dd><code>cols</code> - the number of columns in the matrix</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="transform-float:A:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>transform</h4>
<pre>public&nbsp;float[][]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.RandomizedMatrix.html#line.565">transform</a>(float[][]&nbsp;matrix)</pre>
<div class="block">Copy a given matrix into a new matrix, transforming each row index and
each column index according to the randomization scheme that was created
at construction time.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>matrix</code> - the cost matrix to transform</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new matrix with row and column indices transformed</dd>
</dl>
</li>
</ul>
<a name="invert-float:A:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>invert</h4>
<pre>public&nbsp;float[][]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.RandomizedMatrix.html#line.582">invert</a>(float[][]&nbsp;matrix)</pre>
<div class="block">Copy a given matrix into a new matrix, transforming each row index and
each column index according to the inverse of the randomization scheme
that was created at construction time.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>matrix</code> - the cost matrix to be inverted</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new matrix with row and column indices inverted</dd>
</dl>
</li>
</ul>
<a name="invertIndices-int:A-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>invertIndices</h4>
<pre>public&nbsp;int[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.RandomizedMatrix.html#line.599">invertIndices</a>(int[]&nbsp;indices)</pre>
<div class="block">Given an array where each element <code>indices[i]</code> represents the
randomized column index corresponding to randomized row index <code>i</code>,
create a new array with the corresponding inverted indices.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>indices</code> - an array of transformed indices to be inverted</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an array of inverted indices</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>
<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><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/RegionPlacementMaintainer.RandomizedMatrix.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/hadoop/hbase/master/RegionPlacementMaintainer.html" title="class in org.apache.hadoop.hbase.master"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/master/RegionPlan.html" title="class in org.apache.hadoop.hbase.master"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/master/RegionPlacementMaintainer.RandomizedMatrix.html" target="_top">Frames</a></li>
<li><a href="RegionPlacementMaintainer.RandomizedMatrix.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>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">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><a href="#field.detail">Field</a>&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>Copyright &#169; 2007&#x2013;2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>