<p>Cloud computing environments pose challenges in Parallel Batch Machine Scheduling (PBMS) with Malleable Jobs, which require the job width to be adjustable during execution, whereas the traditional problem considers only fixed job widths. In this paper, we propose a fast approximation algorithm with a runtime <InlineEquation ID="IEq1"> <EquationSource Format="TEX">\(O(n \log n)\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi>O</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mo>log</mo> <mi>n</mi> <mo stretchy="false">)</mo> </mrow> </math></EquationSource> </InlineEquation> and a ratio of <InlineEquation ID="IEq2"> <EquationSource Format="TEX">\((4-\frac{2}{Km})\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mo stretchy="false">(</mo> <mn>4</mn> <mo>-</mo> <mfrac> <mn>2</mn> <mrow> <mi mathvariant="italic">Km</mi> </mrow> </mfrac> <mo stretchy="false">)</mo> </mrow> </math></EquationSource> </InlineEquation>, where <InlineEquation ID="IEq3"> <EquationSource Format="TEX">\(n\)</EquationSource> <EquationSource Format="MATHML"><math> <mi>n</mi> </math></EquationSource> </InlineEquation> is the number of jobs, and <InlineEquation ID="IEq4"> <EquationSource Format="TEX">\(K\)</EquationSource> <EquationSource Format="MATHML"><math> <mi>K</mi> </math></EquationSource> </InlineEquation> and <InlineEquation ID="IEq5"> <EquationSource Format="TEX">\(m\)</EquationSource> <EquationSource Format="MATHML"><math> <mi>m</mi> </math></EquationSource> </InlineEquation> respectively denote machine capacities and numbers. This is achieved through employing the state-of-the-art scheduling algorithm by simply setting each job’s width to its maximum degree of parallelism, where we develop new proof techniques to demonstrate the ratio due to the nature of malleable jobs. We then refine the algorithm by leveraging the relationship between maximum job demand and average processing capacity per processor, achieving an improved ratio of <InlineEquation ID="IEq6"> <EquationSource Format="TEX">\((4-\frac{4}{Km})\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mo stretchy="false">(</mo> <mn>4</mn> <mo>-</mo> <mfrac> <mn>4</mn> <mrow> <mi mathvariant="italic">Km</mi> </mrow> </mfrac> <mo stretchy="false">)</mo> </mrow> </math></EquationSource> </InlineEquation> while maintaining the <InlineEquation ID="IEq7"> <EquationSource Format="TEX">\(O(n \log n)\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi>O</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mo>log</mo> <mi>n</mi> <mo stretchy="false">)</mo> </mrow> </math></EquationSource> </InlineEquation> runtime efficiency. In addition, for jobs with identical release times, our algorithm can be fine-tuned to achieve a ratio of <InlineEquation ID="IEq8"> <EquationSource Format="TEX">\((3-\frac{2}{Km})\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mo stretchy="false">(</mo> <mn>3</mn> <mo>-</mo> <mfrac> <mn>2</mn> <mrow> <mi mathvariant="italic">Km</mi> </mrow> </mfrac> <mo stretchy="false">)</mo> </mrow> </math></EquationSource> </InlineEquation>. Lastly, we further extend our algorithm to address the problem involving two machines with non-identical capacities, achieving a ratio of <InlineEquation ID="IEq9"> <EquationSource Format="TEX">\(\frac{17}{5}\)</EquationSource> <EquationSource Format="MATHML"><math> <mfrac> <mn>17</mn> <mn>5</mn> </mfrac> </math></EquationSource> </InlineEquation> and a runtime of <InlineEquation ID="IEq10"> <EquationSource Format="TEX">\(O(n \log n)\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi>O</mi> <mo stretchy="false">(</mo> <mi>n</mi> <mo>log</mo> <mi>n</mi> <mo stretchy="false">)</mo> </mrow> </math></EquationSource> </InlineEquation>. This compares favorably with the previous state-of-the-art, which has a ratio of 5 and a runtime of <InlineEquation ID="IEq11"> <EquationSource Format="TEX">\(O(n^2)\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi>O</mi> <mo stretchy="false">(</mo> <msup> <mi>n</mi> <mn>2</mn> </msup> <mo stretchy="false">)</mo> </mrow> </math></EquationSource> </InlineEquation>.</p>

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Approximation Algorithms for Parallel Batch Machine Scheduling of Malleable Jobs

  • Fenghe Xia,
  • Longkun Guo,
  • Xiaoyan Zhang

摘要

Cloud computing environments pose challenges in Parallel Batch Machine Scheduling (PBMS) with Malleable Jobs, which require the job width to be adjustable during execution, whereas the traditional problem considers only fixed job widths. In this paper, we propose a fast approximation algorithm with a runtime \(O(n \log n)\) O ( n log n ) and a ratio of \((4-\frac{2}{Km})\) ( 4 - 2 Km ) , where \(n\) n is the number of jobs, and \(K\) K and \(m\) m respectively denote machine capacities and numbers. This is achieved through employing the state-of-the-art scheduling algorithm by simply setting each job’s width to its maximum degree of parallelism, where we develop new proof techniques to demonstrate the ratio due to the nature of malleable jobs. We then refine the algorithm by leveraging the relationship between maximum job demand and average processing capacity per processor, achieving an improved ratio of \((4-\frac{4}{Km})\) ( 4 - 4 Km ) while maintaining the \(O(n \log n)\) O ( n log n ) runtime efficiency. In addition, for jobs with identical release times, our algorithm can be fine-tuned to achieve a ratio of \((3-\frac{2}{Km})\) ( 3 - 2 Km ) . Lastly, we further extend our algorithm to address the problem involving two machines with non-identical capacities, achieving a ratio of \(\frac{17}{5}\) 17 5 and a runtime of \(O(n \log n)\) O ( n log n ) . This compares favorably with the previous state-of-the-art, which has a ratio of 5 and a runtime of \(O(n^2)\) O ( n 2 ) .