blob: c9fc73715596518ace06d2632f94ba50db0caa27 [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 4.0.0-alpha-1-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 4.0.0-alpha-1-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.482">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.483">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.484">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.485">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.486">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.487">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.488">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.495">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.540">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.556">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.573">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;2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>