Productivit > PRODUCTIVITY AND SOFTWARE Productivit ... und Screenpo… · estimation of software...

1
> PRODUCTIVITY AND SOFTWARE DEVELOPMENT EFFORT ESTIMATION IN HPC Contact: [email protected] · http://www.hpc.rwth-aachen.de/research/tco DEVELOPMENT EFFORT CONCLUSION REFERENCES PRODUCTIVITY INTRODUCTION CHALLENGES VALUE: NUMBER OF APPLICATION RUNS SENSITIVITY ANALYSIS COST: TOTAL COST OF OWNERSHIP (TCO) PERFORMANCE LIFE-CYCLE IMPACT FACTORS ON EFFORT DATA COLLECTION As part of a sound TCO and productivity model, I introduce a method- ology to estimate development efforts needed to parallelize, port and tune simulation codes to efficiently exploit (novel) HPC hardware. My research covers a productivity figure of merit for HPC procurements that is applicable to real-world multi-job setups. To embrace an estimation of software development effort into the productivity model, I provide a methodol- ogy that is based on performance life-cycles and statistical analysis of data collected in hu- man-subject research. In future, I will continue to collect correspond- ing data sets and investigate conditional re- finements of the productivity model. S. Wienke, “Productivity and Software Development Effort Estimation in High- Performance Computing”, Apprimus Verlag 2017, https://publications.rwth-aachen.de/record/711110. S. Wienke, D. an Mey, and M. S. Müller, “Accelerators for Technical Computing: Is It Worth the Pain? A TCO Perspective,” in Supercomputing, ser. Lecture Notes in Computer Science, J. M. Kunkel, T. Ludwig, and H. W. Meuer, Eds. Springer Berlin Heidelberg, 2013, vol. 7905, pp. 330–342. S. Wienke, H. Iliev, D. an Mey, and M. S. Müller, “Modeling the Productivity of HPC Systems on a Computing Center Scale,” in High Performance Computing, ser. Lecture Notes in Computer Science, J. M. Kunkel and T. Ludwig, Eds. Springer International Publishing, 2015, vol. 9137, pp. 358–375. S. Wienke, J. Miller, M. Schulz, and M. S. Müller, “Development Effort Estimation in HPC,” in SC16: International Conference for High Performance Computing, Network- ing, Storage and Analysis, 2016, pp. 107–118. S. Wienke, T. Cramer, M. S. Müller, and M. Schulz, “Quantifying Productivity-Towards Development Effort Estimation in HPC,” Poster at the International Conference for High Performance Computing, Networking, Storage and Analysis (SC15), 2015. S. Wienke, “Development Effort Methodologies,” Chair for High Performance Comput- ing, RWTH Aachen University, http://www.hpc.rwth-aachen.de/research/tco, 2016. I introduce a productivity model with predictive power to foster informed decision making in HPC procurements. For instance, it can be used to compare various systems, or to argue for single- or two-phase pro- curements. · Number of runs of (relevant) simulation applications · Focus on application runtime t app,i for application i running on n i compute nodes · Overarching metric for real-world job mix setups · One-time costs C ot and annual costs C pa · Categorization: costs per node and per node type · Inclusion of costs for, e.g., programming, energy, hardware · Variances in productivity due to errors in assumptions · Only few (well-understood) parameters must be accurately predicted > robust · Model of relationship of performance and effort needed to achieve this performance · Numerous factors impact effort (captured in S, R, Q) · Regression analysis from collected data Identification of key drivers · Focus on most influencing factors · Factor ranking based on surveys Quantification of “pre-knowledge” · Knowledge surveys (confidence rating) Quantification of “parallel programming model & numerical algorithm” · Pattern-based suitability mapping · Basis of statistically reliable results are sufficient data sets · Targeting at community effort: tools and material online, e.g., effort-performance pairs by our tool EffortLog Serving the ever increasing demands for computational power, expenses of HPC centers increase in terms of acquisition, energy, and programming. Thus, a quan- tifiable productivity metric is needed in HPC procurements to make an informed decision on how to invest available bud- gets. · Real-world applicability w/ multi-job setups · Quantification of value · Prediction of all productivity parameters · Especially, estimation of development effort · Intangible character of various impact factors · Data collection through human-subject research Dr. Sandra Wienke, IT Center & Chair for High Performance Computing, RWTH Aachen University, Germany $ [$] cost value ty productivi = HW + energy + development cost + … dev. effort [day] * salary day $ For instance, it can be used to compare various systems, o productivity investment [$] system A system B productivity system lifetime [years] single phase two phases duration of funding period Q f S R ) e performanc ( effort Numerous factors impact effort (captured in S, R, Q) effort performance sample real-world performance life- cycle 80-20 rule 1st parallel version tuned parallel versions Pre-knowledge on HW & parallel prog. model Code work Pre-knowledge on numerical algorithm used Parallel prog. model & compiler/ runtime system Performance Architecture/ hardware Tools Kind of algorithm Code size Portability & maintain- ability over code’s lifetime Energy efficiency more impact less impact ) , ( TCO ) , ( ) , ( ty productivi , n n r n i app ) ( ) ( ) , ( , , , i i app i i i app i i app n t n n n q p n r n: system size [#nodes] τ: system lifetime [years] α: system availability q app,i : quality weighting factor p i : capacity weighting factor ) ( ) ( ) , ( TCO n C n C n pa ot system availability HW purchase costs PUE electricity costs per kWh app. kernel runtime app. serial runtime app. power consumption parameters < 0.5% none system lifetime main effects (based on RWTH Aachen data)

Transcript of Productivit > PRODUCTIVITY AND SOFTWARE Productivit ... und Screenpo… · estimation of software...

Page 1: Productivit > PRODUCTIVITY AND SOFTWARE Productivit ... und Screenpo… · estimation of software development effort into the productivity model, I provide a methodology that is based

> PRODUCTIVITY AND SOFTWARE DEVELOPMENT EFFORT ESTIMATION IN HPC

Contact: [email protected] · http://www.hpc.rwth-aachen.de/research/tco

DEVELOPMENT EFFORT CONCLUSION

REFERENCES

PRODUCTIVITYINTRODUCTION

CHALLENGES

VALUE: NUMBER OF APPLICATION RUNS

SENSITIVITY ANALYSIS

COST: TOTAL COST OF OWNERSHIP (TCO)

PERFORMANCE LIFE-CYCLE

IMPACT FACTORS ON EFFORT

DATA COLLECTION

As part of a sound TCO and productivity model, I introduce a method-ology to estimate development efforts needed to parallelize, port and tune simulation codes to efficiently exploit (novel) HPC hardware.

My research covers a productivity figure of merit for HPC procurements that is applicable to real-world multi-job setups. To embrace an estimation of software development effort into the productivity model, I provide a methodol-ogy that is based on performance life-cycles and statistical analysis of data collected in hu-man-subject research.

In future, I will continue to collect correspond-ing data sets and investigate conditional re-finements of the productivity model.

S. Wienke, “Productivity and Software Development Effort Estimation in High-Performance Computing”, Apprimus Verlag 2017, https://publications.rwth-aachen.de/record/711110.

S. Wienke, D. an Mey, and M. S. Müller, “Accelerators for Technical Computing: Is It Worth the Pain? A TCO Perspective,” in Supercomputing, ser. Lecture Notes in Computer Science, J. M. Kunkel, T. Ludwig, and H. W. Meuer, Eds. Springer Berlin Heidelberg, 2013, vol. 7905, pp. 330–342.

S. Wienke, H. Iliev, D. an Mey, and M. S. Müller, “Modeling the Productivity of HPC Systems on a Computing Center Scale,” in High Performance Computing, ser. Lecture Notes in Computer Science, J. M. Kunkel and T. Ludwig, Eds. Springer International Publishing, 2015, vol. 9137, pp. 358–375.

S. Wienke, J. Miller, M. Schulz, and M. S. Müller, “Development Effort Estimation in HPC,” in SC16: International Conference for High Performance Computing, Network-ing, Storage and Analysis, 2016, pp. 107–118.

S. Wienke, T. Cramer, M. S. Müller, and M. Schulz, “Quantifying Productivity-Towards Development Effort Estimation in HPC,” Poster at the International Conference for High Performance Computing, Networking, Storage and Analysis (SC15), 2015.

S. Wienke, “Development Effort Methodologies,” Chair for High Performance Comput-ing, RWTH Aachen University, http://www.hpc.rwth-aachen.de/research/tco, 2016.

I introduce a productivity model with predictive power to foster informed decision making in HPC procurements.

For instance, it can be used to compare various systems, or to argue for single- or two-phase pro-curements.

· Number of runs of (relevant) simulation applications· Focus on application runtime t

app,i for application i running on n

i compute nodes

· Overarching metric for real-world job mix setups

· One-time costs Cot and annual costs Cpa

· Categorization: costs per node and per node type· Inclusion of costs for, e.g., programming, energy, hardware

· Variances in productivity due to errors in assumptions· Only few (well-understood) parameters must be accurately predicted > robust

· Model of relationship of performance and effort needed to achieve this performance

· Numerous factors impact effort (captured in S, R, Q)· Regression analysis from collected data

Identification of key drivers· Focus on most influencing factors· Factor ranking based on surveys

Quantification of “pre-knowledge”· Knowledge surveys (confidence rating)

Quantification of “parallel programming model & numerical algorithm”· Pattern-based suitability mapping

· Basis of statistically reliable results are sufficient data sets· Targeting at community effort: tools and material online, e.g., effort-performance pairs by our tool EffortLog

Serving the ever increasing demands for computational power, expenses of HPC centers increase in terms of acquisition, energy, and programming. Thus, a quan-tifiable productivity metric is needed in HPC procurements to make an informed decision on how to invest available bud-gets.

· Real-world applicability w/ multi-job setups· Quantification of value· Prediction of all productivity parameters· Especially, estimation of development effort· Intangible character of various impact factors· Data collection through human-subject research

Dr. Sandra Wienke, IT Center & Chair for High Performance Computing, RWTH Aachen University, Germany

Productivity and Software Development Effort Estimation in HPCSandra Wienke

IT Center & Chair for High Performance Computing, RWTH Aachen University, Germany

Serving the ever increasing demands for computa-tional power, expenses of HPC centers increase in terms of acquisition, energy, and programming. Thus, a quantifiable productivity metric is needed in HPC procure-ments to make an informed decision on how to invest available budgets.

Challenges• Real-world applicability

w/ multi-job setups• Quantification of value• Prediction of all

productivity parameters• Especially, estimation of

development effort• Intangible character of

various impact factors• Data collection through

human-subject research

I introduce a productivity model with predictive power to foster informed decision making in HPC procurements.

For instance, it can be used to compare various systems, or to argue for single- or two-phase procurements.

Value: Number of Application Runs• Number of runs of (relevant) simulation applications• Focus on application runtime tapp,i for application i

running on ni compute nodes• Overarching metric for real-world job mix setups

Cost: Total Cost of Ownership (TCO)• One-time costs Cot and annual costs Cpa

• Categorization: costs per node and per node type• Inclusion of costs for, e.g., programming, energy, hardware

Sensitivity Analysis• Variances in productivity due to

errors in assumptions• Only few (well-understood)

parameters must be accurately predicted robust

My research covers a productivity figure of merit for HPC procure-ments that is applicable to real-world multi-job setups. To embrace an estimation of software development effort into the productivity model, I provide a methodology that is based on performance life-cycles and statistical analysis of data collected in human-subject research.

In future, I will continue to collect corresponding data sets and investigate conditional refinements of the productivity model.

As part of a sound TCO and productivity model, I introduce a methodology to estimate development efforts needed to parallelize, port and tune simulation codes to efficiently exploit (novel) HPC hardware.

Performance Life-Cycle• Model of relationship of performance and effort needed to

achieve this performance

• Numerous factors impact effort (captured in S, R, Q)• Regression analysis from collected data

Impact Factors on Effort

Identification of key drivers• Focus on most influencing factors• Factor ranking based on surveys

Quantification of “pre-knowledge”• Knowledge surveys (confidence

rating)

Quantification of “parallel program-ming model & numerical algorithm”• Pattern-based suitability mapping

Data Collection• Basis of statistically reliable results are sufficient data sets• Targeting at community effort: tools and material online,

e.g., effort-performance pairs by our tool EffortLog

Introduction Productivity Development Effort Conclusion

S. Wienke, D. an Mey, and M. S. Müller, “Accelerators for Technical Computing: Is It Worth the Pain? A TCO Perspective,” in Supercomputing, ser. Lecture Notes in Computer Science, J. M. Kunkel, T. Ludwig, and H. W. Meuer, Eds. Springer Berlin Heidelberg, 2013, vol. 7905, pp. 330–342.S. Wienke, H. Iliev, D. an Mey, and M. S. Müller, “Modeling the Productivity of HPC Systems on a Computing Center Scale,” in High Performance Computing, ser. Lecture Notes in Computer Science, J. M. Kunkel and T. Ludwig, Eds. Springer International Publishing, 2015, vol. 9137, pp. 358–375.S. Wienke, J. Miller, M. Schulz, and M. S. Müller, “Development Effort Estimation in HPC,” in SC16: International Conference for High Performance Computing, Networking, Storage and Analysis, 2016, pp. 107–118.S. Wienke, T. Cramer, M. S. Müller, and M. Schulz, “Quantifying Productivity-Towards Development Effort Estimation in HPC,” Poster at the International Conference for High Performance Computing, Networking, Storage and Analysis (SC15), 2015.S. Wienke, “Development Effort Methodologies,” Chair for High Performance Computing, RWTH Aachen University, http://www.hpc.rwth-aachen.de/research/tco, 2016.

References

[email protected] http://www.hpc.rwth-aachen.de/research/tco SC17: Doctoral Showcase

Pre-knowledge on HW & parallel prog. modelCode workPre-knowledge on numerical algorithm usedParallel prog. model & compiler/ runtime systemPerformanceArchitecture/ hardwareToolsKind of algorithmCode sizePortability & maintain-ability over code’s lifetimeEnergy efficiency

QfS R )eperformanc(effort

mor

e im

pact

less

impa

ct

$

[$]costvaluetyproductivi

= HW + energy + development cost + …

dev. effort [day] * salary

),(TCO),(

),(typroductivi ,

nnr

n iapp n: system size [#nodes]

τ: system lifetime [years]

α: system availabilityqapp,i: quality weighting factorpi: capacity weighting factor)(

)(),(

,

,,

iiappi

iiappiiapp ntn

nnqpnr

)()(),(TCO nCnCn paot

day$

system availability HW

purchase costs

PUEelectricity costs per

kWhapp.

kernel runtime

app. serial

runtime

app. power consumption

parameters < 0.5%

nonesystem lifetime

main effects(based on RWTH Aachen data)

prod

uctiv

ityinvestment [$]

system Asystem B

prod

uctiv

ity

system lifetime [years]

single phasetwo phases

duration of funding period

effo

rt

performance

sample real-worldperformance life-cycle80-20 rule

1st parallel version

tuned parallelversions

Productivity and Software Development Effort Estimation in HPCSandra Wienke

IT Center & Chair for High Performance Computing, RWTH Aachen University, Germany

Serving the ever increasing demands for computa-tional power, expenses of HPC centers increase in terms of acquisition, energy, and programming. Thus, a quantifiable productivity metric is needed in HPC procure-ments to make an informed decision on how to invest available budgets.

Challenges• Real-world applicability

w/ multi-job setups• Quantification of value• Prediction of all

productivity parameters• Especially, estimation of

development effort• Intangible character of

various impact factors• Data collection through

human-subject research

I introduce a productivity model with predictive power to foster informed decision making in HPC procurements.

For instance, it can be used to compare various systems, or to argue for single- or two-phase procurements.

Value: Number of Application Runs• Number of runs of (relevant) simulation applications• Focus on application runtime tapp,i for application i

running on ni compute nodes• Overarching metric for real-world job mix setups

Cost: Total Cost of Ownership (TCO)• One-time costs Cot and annual costs Cpa

• Categorization: costs per node and per node type• Inclusion of costs for, e.g., programming, energy, hardware

Sensitivity Analysis• Variances in productivity due to

errors in assumptions• Only few (well-understood)

parameters must be accurately predicted robust

My research covers a productivity figure of merit for HPC procure-ments that is applicable to real-world multi-job setups. To embrace an estimation of software development effort into the productivity model, I provide a methodology that is based on performance life-cycles and statistical analysis of data collected in human-subject research.

In future, I will continue to collect corresponding data sets and investigate conditional refinements of the productivity model.

As part of a sound TCO and productivity model, I introduce a methodology to estimate development efforts needed to parallelize, port and tune simulation codes to efficiently exploit (novel) HPC hardware.

Performance Life-Cycle• Model of relationship of performance and effort needed to

achieve this performance

• Numerous factors impact effort (captured in S, R, Q)• Regression analysis from collected data

Impact Factors on Effort

Identification of key drivers• Focus on most influencing factors• Factor ranking based on surveys

Quantification of “pre-knowledge”• Knowledge surveys (confidence

rating)

Quantification of “parallel program-ming model & numerical algorithm”• Pattern-based suitability mapping

Data Collection• Basis of statistically reliable results are sufficient data sets• Targeting at community effort: tools and material online,

e.g., effort-performance pairs by our tool EffortLog

Introduction Productivity Development Effort Conclusion

S. Wienke, D. an Mey, and M. S. Müller, “Accelerators for Technical Computing: Is It Worth the Pain? A TCO Perspective,” in Supercomputing, ser. Lecture Notes in Computer Science, J. M. Kunkel, T. Ludwig, and H. W. Meuer, Eds. Springer Berlin Heidelberg, 2013, vol. 7905, pp. 330–342.S. Wienke, H. Iliev, D. an Mey, and M. S. Müller, “Modeling the Productivity of HPC Systems on a Computing Center Scale,” in High Performance Computing, ser. Lecture Notes in Computer Science, J. M. Kunkel and T. Ludwig, Eds. Springer International Publishing, 2015, vol. 9137, pp. 358–375.S. Wienke, J. Miller, M. Schulz, and M. S. Müller, “Development Effort Estimation in HPC,” in SC16: International Conference for High Performance Computing, Networking, Storage and Analysis, 2016, pp. 107–118.S. Wienke, T. Cramer, M. S. Müller, and M. Schulz, “Quantifying Productivity-Towards Development Effort Estimation in HPC,” Poster at the International Conference for High Performance Computing, Networking, Storage and Analysis (SC15), 2015.S. Wienke, “Development Effort Methodologies,” Chair for High Performance Computing, RWTH Aachen University, http://www.hpc.rwth-aachen.de/research/tco, 2016.

References

[email protected] http://www.hpc.rwth-aachen.de/research/tco SC17: Doctoral Showcase

Pre-knowledge on HW & parallel prog. modelCode workPre-knowledge on numerical algorithm usedParallel prog. model & compiler/ runtime systemPerformanceArchitecture/ hardwareToolsKind of algorithmCode sizePortability & maintain-ability over code’s lifetimeEnergy efficiency

QfS R )eperformanc(effort

mor

e im

pact

less

impa

ct

$

[$]costvaluetyproductivi

= HW + energy + development cost + …

dev. effort [day] * salary

),(TCO),(

),(typroductivi ,

nnr

n iapp n: system size [#nodes]

τ: system lifetime [years]

α: system availabilityqapp,i: quality weighting factorpi: capacity weighting factor)(

)(),(

,

,,

iiappi

iiappiiapp ntn

nnqpnr

)()(),(TCO nCnCn paot

day$

system availability HW

purchase costs

PUEelectricity costs per

kWhapp.

kernel runtime

app. serial

runtime

app. power consumption

parameters < 0.5%

nonesystem lifetime

main effects(based on RWTH Aachen data)

prod

uctiv

ity

investment [$]

system Asystem B

prod

uctiv

ity

system lifetime [years]

single phasetwo phases

duration of funding period

effo

rt

performance

sample real-worldperformance life-cycle80-20 rule

1st parallel version

tuned parallelversions

Productivity and Software Development Effort Estimation in HPCSandra Wienke

IT Center & Chair for High Performance Computing, RWTH Aachen University, Germany

Serving the ever increasing demands for computa-tional power, expenses of HPC centers increase in terms of acquisition, energy, and programming. Thus, a quantifiable productivity metric is needed in HPC procure-ments to make an informed decision on how to invest available budgets.

Challenges• Real-world applicability

w/ multi-job setups• Quantification of value• Prediction of all

productivity parameters• Especially, estimation of

development effort• Intangible character of

various impact factors• Data collection through

human-subject research

I introduce a productivity model with predictive power to foster informed decision making in HPC procurements.

For instance, it can be used to compare various systems, or to argue for single- or two-phase procurements.

Value: Number of Application Runs• Number of runs of (relevant) simulation applications• Focus on application runtime tapp,i for application i

running on ni compute nodes• Overarching metric for real-world job mix setups

Cost: Total Cost of Ownership (TCO)• One-time costs Cot and annual costs Cpa

• Categorization: costs per node and per node type• Inclusion of costs for, e.g., programming, energy, hardware

Sensitivity Analysis• Variances in productivity due to

errors in assumptions• Only few (well-understood)

parameters must be accurately predicted robust

My research covers a productivity figure of merit for HPC procure-ments that is applicable to real-world multi-job setups. To embrace an estimation of software development effort into the productivity model, I provide a methodology that is based on performance life-cycles and statistical analysis of data collected in human-subject research.

In future, I will continue to collect corresponding data sets and investigate conditional refinements of the productivity model.

As part of a sound TCO and productivity model, I introduce a methodology to estimate development efforts needed to parallelize, port and tune simulation codes to efficiently exploit (novel) HPC hardware.

Performance Life-Cycle• Model of relationship of performance and effort needed to

achieve this performance

• Numerous factors impact effort (captured in S, R, Q)• Regression analysis from collected data

Impact Factors on Effort

Identification of key drivers• Focus on most influencing factors• Factor ranking based on surveys

Quantification of “pre-knowledge”• Knowledge surveys (confidence

rating)

Quantification of “parallel program-ming model & numerical algorithm”• Pattern-based suitability mapping

Data Collection• Basis of statistically reliable results are sufficient data sets• Targeting at community effort: tools and material online,

e.g., effort-performance pairs by our tool EffortLog

Introduction Productivity Development Effort Conclusion

S. Wienke, D. an Mey, and M. S. Müller, “Accelerators for Technical Computing: Is It Worth the Pain? A TCO Perspective,” in Supercomputing, ser. Lecture Notes in Computer Science, J. M. Kunkel, T. Ludwig, and H. W. Meuer, Eds. Springer Berlin Heidelberg, 2013, vol. 7905, pp. 330–342.S. Wienke, H. Iliev, D. an Mey, and M. S. Müller, “Modeling the Productivity of HPC Systems on a Computing Center Scale,” in High Performance Computing, ser. Lecture Notes in Computer Science, J. M. Kunkel and T. Ludwig, Eds. Springer International Publishing, 2015, vol. 9137, pp. 358–375.S. Wienke, J. Miller, M. Schulz, and M. S. Müller, “Development Effort Estimation in HPC,” in SC16: International Conference for High Performance Computing, Networking, Storage and Analysis, 2016, pp. 107–118.S. Wienke, T. Cramer, M. S. Müller, and M. Schulz, “Quantifying Productivity-Towards Development Effort Estimation in HPC,” Poster at the International Conference for High Performance Computing, Networking, Storage and Analysis (SC15), 2015.S. Wienke, “Development Effort Methodologies,” Chair for High Performance Computing, RWTH Aachen University, http://www.hpc.rwth-aachen.de/research/tco, 2016.

References

[email protected] http://www.hpc.rwth-aachen.de/research/tco SC17: Doctoral Showcase

Pre-knowledge on HW & parallel prog. modelCode workPre-knowledge on numerical algorithm usedParallel prog. model & compiler/ runtime systemPerformanceArchitecture/ hardwareToolsKind of algorithmCode sizePortability & maintain-ability over code’s lifetimeEnergy efficiency

QfS R )eperformanc(effort

mor

e im

pact

less

impa

ct

$

[$]costvaluetyproductivi

= HW + energy + development cost + …

dev. effort [day] * salary

),(TCO),(

),(typroductivi ,

nnr

n iapp n: system size [#nodes]

τ: system lifetime [years]

α: system availabilityqapp,i: quality weighting factorpi: capacity weighting factor)(

)(),(

,

,,

iiappi

iiappiiapp ntn

nnqpnr

)()(),(TCO nCnCn paot

day$

system availability HW

purchase costs

PUEelectricity costs per

kWhapp.

kernel runtime

app. serial

runtime

app. power consumption

parameters < 0.5%

nonesystem lifetime

main effects(based on RWTH Aachen data)

prod

uctiv

ity

investment [$]

system Asystem B

prod

uctiv

ity

system lifetime [years]

single phasetwo phases

duration of funding period

effo

rt

performance

sample real-worldperformance life-cycle80-20 rule

1st parallel version

tuned parallelversions

Productivity and Software Development Effort Estimation in HPCSandra Wienke

IT Center & Chair for High Performance Computing, RWTH Aachen University, Germany

Serving the ever increasing demands for computa-tional power, expenses of HPC centers increase in terms of acquisition, energy, and programming. Thus, a quantifiable productivity metric is needed in HPC procure-ments to make an informed decision on how to invest available budgets.

Challenges• Real-world applicability

w/ multi-job setups• Quantification of value• Prediction of all

productivity parameters• Especially, estimation of

development effort• Intangible character of

various impact factors• Data collection through

human-subject research

I introduce a productivity model with predictive power to foster informed decision making in HPC procurements.

For instance, it can be used to compare various systems, or to argue for single- or two-phase procurements.

Value: Number of Application Runs• Number of runs of (relevant) simulation applications• Focus on application runtime tapp,i for application i

running on ni compute nodes• Overarching metric for real-world job mix setups

Cost: Total Cost of Ownership (TCO)• One-time costs Cot and annual costs Cpa

• Categorization: costs per node and per node type• Inclusion of costs for, e.g., programming, energy, hardware

Sensitivity Analysis• Variances in productivity due to

errors in assumptions• Only few (well-understood)

parameters must be accurately predicted robust

My research covers a productivity figure of merit for HPC procure-ments that is applicable to real-world multi-job setups. To embrace an estimation of software development effort into the productivity model, I provide a methodology that is based on performance life-cycles and statistical analysis of data collected in human-subject research.

In future, I will continue to collect corresponding data sets and investigate conditional refinements of the productivity model.

As part of a sound TCO and productivity model, I introduce a methodology to estimate development efforts needed to parallelize, port and tune simulation codes to efficiently exploit (novel) HPC hardware.

Performance Life-Cycle• Model of relationship of performance and effort needed to

achieve this performance

• Numerous factors impact effort (captured in S, R, Q)• Regression analysis from collected data

Impact Factors on Effort

Identification of key drivers• Focus on most influencing factors• Factor ranking based on surveys

Quantification of “pre-knowledge”• Knowledge surveys (confidence

rating)

Quantification of “parallel program-ming model & numerical algorithm”• Pattern-based suitability mapping

Data Collection• Basis of statistically reliable results are sufficient data sets• Targeting at community effort: tools and material online,

e.g., effort-performance pairs by our tool EffortLog

Introduction Productivity Development Effort Conclusion

S. Wienke, D. an Mey, and M. S. Müller, “Accelerators for Technical Computing: Is It Worth the Pain? A TCO Perspective,” in Supercomputing, ser. Lecture Notes in Computer Science, J. M. Kunkel, T. Ludwig, and H. W. Meuer, Eds. Springer Berlin Heidelberg, 2013, vol. 7905, pp. 330–342.S. Wienke, H. Iliev, D. an Mey, and M. S. Müller, “Modeling the Productivity of HPC Systems on a Computing Center Scale,” in High Performance Computing, ser. Lecture Notes in Computer Science, J. M. Kunkel and T. Ludwig, Eds. Springer International Publishing, 2015, vol. 9137, pp. 358–375.S. Wienke, J. Miller, M. Schulz, and M. S. Müller, “Development Effort Estimation in HPC,” in SC16: International Conference for High Performance Computing, Networking, Storage and Analysis, 2016, pp. 107–118.S. Wienke, T. Cramer, M. S. Müller, and M. Schulz, “Quantifying Productivity-Towards Development Effort Estimation in HPC,” Poster at the International Conference for High Performance Computing, Networking, Storage and Analysis (SC15), 2015.S. Wienke, “Development Effort Methodologies,” Chair for High Performance Computing, RWTH Aachen University, http://www.hpc.rwth-aachen.de/research/tco, 2016.

References

[email protected] http://www.hpc.rwth-aachen.de/research/tco SC17: Doctoral Showcase

Pre-knowledge on HW & parallel prog. modelCode workPre-knowledge on numerical algorithm usedParallel prog. model & compiler/ runtime systemPerformanceArchitecture/ hardwareToolsKind of algorithmCode sizePortability & maintain-ability over code’s lifetimeEnergy efficiency

QfS R )eperformanc(effort

mor

e im

pact

less

impa

ct

$

[$]costvaluetyproductivi

= HW + energy + development cost + …

dev. effort [day] * salary

),(TCO),(

),(typroductivi ,

nnr

n iapp n: system size [#nodes]

τ: system lifetime [years]

α: system availabilityqapp,i: quality weighting factorpi: capacity weighting factor)(

)(),(

,

,,

iiappi

iiappiiapp ntn

nnqpnr

)()(),(TCO nCnCn paot

day$

system availability HW

purchase costs

PUEelectricity costs per

kWhapp.

kernel runtime

app. serial

runtime

app. power consumption

parameters < 0.5%

nonesystem lifetime

main effects(based on RWTH Aachen data)

prod

uctiv

ity

investment [$]

system Asystem B

prod

uctiv

ity

system lifetime [years]

single phasetwo phases

duration of funding period

effo

rt

performance

sample real-worldperformance life-cycle80-20 rule

1st parallel version

tuned parallelversions

Productivity and Software Development Effort Estimation in HPCSandra Wienke

IT Center & Chair for High Performance Computing, RWTH Aachen University, Germany

Serving the ever increasing demands for computa-tional power, expenses of HPC centers increase in terms of acquisition, energy, and programming. Thus, a quantifiable productivity metric is needed in HPC procure-ments to make an informed decision on how to invest available budgets.

Challenges• Real-world applicability

w/ multi-job setups• Quantification of value• Prediction of all

productivity parameters• Especially, estimation of

development effort• Intangible character of

various impact factors• Data collection through

human-subject research

I introduce a productivity model with predictive power to foster informed decision making in HPC procurements.

For instance, it can be used to compare various systems, or to argue for single- or two-phase procurements.

Value: Number of Application Runs• Number of runs of (relevant) simulation applications• Focus on application runtime tapp,i for application i

running on ni compute nodes• Overarching metric for real-world job mix setups

Cost: Total Cost of Ownership (TCO)• One-time costs Cot and annual costs Cpa

• Categorization: costs per node and per node type• Inclusion of costs for, e.g., programming, energy, hardware

Sensitivity Analysis• Variances in productivity due to

errors in assumptions• Only few (well-understood)

parameters must be accurately predicted robust

My research covers a productivity figure of merit for HPC procure-ments that is applicable to real-world multi-job setups. To embrace an estimation of software development effort into the productivity model, I provide a methodology that is based on performance life-cycles and statistical analysis of data collected in human-subject research.

In future, I will continue to collect corresponding data sets and investigate conditional refinements of the productivity model.

As part of a sound TCO and productivity model, I introduce a methodology to estimate development efforts needed to parallelize, port and tune simulation codes to efficiently exploit (novel) HPC hardware.

Performance Life-Cycle• Model of relationship of performance and effort needed to

achieve this performance

• Numerous factors impact effort (captured in S, R, Q)• Regression analysis from collected data

Impact Factors on Effort

Identification of key drivers• Focus on most influencing factors• Factor ranking based on surveys

Quantification of “pre-knowledge”• Knowledge surveys (confidence

rating)

Quantification of “parallel program-ming model & numerical algorithm”• Pattern-based suitability mapping

Data Collection• Basis of statistically reliable results are sufficient data sets• Targeting at community effort: tools and material online,

e.g., effort-performance pairs by our tool EffortLog

Introduction Productivity Development Effort Conclusion

S. Wienke, D. an Mey, and M. S. Müller, “Accelerators for Technical Computing: Is It Worth the Pain? A TCO Perspective,” in Supercomputing, ser. Lecture Notes in Computer Science, J. M. Kunkel, T. Ludwig, and H. W. Meuer, Eds. Springer Berlin Heidelberg, 2013, vol. 7905, pp. 330–342.S. Wienke, H. Iliev, D. an Mey, and M. S. Müller, “Modeling the Productivity of HPC Systems on a Computing Center Scale,” in High Performance Computing, ser. Lecture Notes in Computer Science, J. M. Kunkel and T. Ludwig, Eds. Springer International Publishing, 2015, vol. 9137, pp. 358–375.S. Wienke, J. Miller, M. Schulz, and M. S. Müller, “Development Effort Estimation in HPC,” in SC16: International Conference for High Performance Computing, Networking, Storage and Analysis, 2016, pp. 107–118.S. Wienke, T. Cramer, M. S. Müller, and M. Schulz, “Quantifying Productivity-Towards Development Effort Estimation in HPC,” Poster at the International Conference for High Performance Computing, Networking, Storage and Analysis (SC15), 2015.S. Wienke, “Development Effort Methodologies,” Chair for High Performance Computing, RWTH Aachen University, http://www.hpc.rwth-aachen.de/research/tco, 2016.

References

[email protected] http://www.hpc.rwth-aachen.de/research/tco SC17: Doctoral Showcase

Pre-knowledge on HW & parallel prog. modelCode workPre-knowledge on numerical algorithm usedParallel prog. model & compiler/ runtime systemPerformanceArchitecture/ hardwareToolsKind of algorithmCode sizePortability & maintain-ability over code’s lifetimeEnergy efficiency

QfS R )eperformanc(effort

mor

e im

pact

less

impa

ct

$

[$]costvaluetyproductivi

= HW + energy + development cost + …

dev. effort [day] * salary

),(TCO),(

),(typroductivi ,

nnr

n iapp n: system size [#nodes]

τ: system lifetime [years]

α: system availabilityqapp,i: quality weighting factorpi: capacity weighting factor)(

)(),(

,

,,

iiappi

iiappiiapp ntn

nnqpnr

)()(),(TCO nCnCn paot

day$

system availability HW

purchase costs

PUEelectricity costs per

kWhapp.

kernel runtime

app. serial

runtime

app. power consumption

parameters < 0.5%

nonesystem lifetime

main effects(based on RWTH Aachen data)

prod

uctiv

ity

investment [$]

system Asystem B

prod

uctiv

ity

system lifetime [years]

single phasetwo phases

duration of funding period

effo

rt

performance

sample real-worldperformance life-cycle80-20 rule

1st parallel version

tuned parallelversions

Productivity and Software Development Effort Estimation in HPCSandra Wienke

IT Center & Chair for High Performance Computing, RWTH Aachen University, Germany

Serving the ever increasing demands for computa-tional power, expenses of HPC centers increase in terms of acquisition, energy, and programming. Thus, a quantifiable productivity metric is needed in HPC procure-ments to make an informed decision on how to invest available budgets.

Challenges• Real-world applicability

w/ multi-job setups• Quantification of value• Prediction of all

productivity parameters• Especially, estimation of

development effort• Intangible character of

various impact factors• Data collection through

human-subject research

I introduce a productivity model with predictive power to foster informed decision making in HPC procurements.

For instance, it can be used to compare various systems, or to argue for single- or two-phase procurements.

Value: Number of Application Runs• Number of runs of (relevant) simulation applications• Focus on application runtime tapp,i for application i

running on ni compute nodes• Overarching metric for real-world job mix setups

Cost: Total Cost of Ownership (TCO)• One-time costs Cot and annual costs Cpa

• Categorization: costs per node and per node type• Inclusion of costs for, e.g., programming, energy, hardware

Sensitivity Analysis• Variances in productivity due to

errors in assumptions• Only few (well-understood)

parameters must be accurately predicted robust

My research covers a productivity figure of merit for HPC procure-ments that is applicable to real-world multi-job setups. To embrace an estimation of software development effort into the productivity model, I provide a methodology that is based on performance life-cycles and statistical analysis of data collected in human-subject research.

In future, I will continue to collect corresponding data sets and investigate conditional refinements of the productivity model.

As part of a sound TCO and productivity model, I introduce a methodology to estimate development efforts needed to parallelize, port and tune simulation codes to efficiently exploit (novel) HPC hardware.

Performance Life-Cycle• Model of relationship of performance and effort needed to

achieve this performance

• Numerous factors impact effort (captured in S, R, Q)• Regression analysis from collected data

Impact Factors on Effort

Identification of key drivers• Focus on most influencing factors• Factor ranking based on surveys

Quantification of “pre-knowledge”• Knowledge surveys (confidence

rating)

Quantification of “parallel program-ming model & numerical algorithm”• Pattern-based suitability mapping

Data Collection• Basis of statistically reliable results are sufficient data sets• Targeting at community effort: tools and material online,

e.g., effort-performance pairs by our tool EffortLog

Introduction Productivity Development Effort Conclusion

S. Wienke, D. an Mey, and M. S. Müller, “Accelerators for Technical Computing: Is It Worth the Pain? A TCO Perspective,” in Supercomputing, ser. Lecture Notes in Computer Science, J. M. Kunkel, T. Ludwig, and H. W. Meuer, Eds. Springer Berlin Heidelberg, 2013, vol. 7905, pp. 330–342.S. Wienke, H. Iliev, D. an Mey, and M. S. Müller, “Modeling the Productivity of HPC Systems on a Computing Center Scale,” in High Performance Computing, ser. Lecture Notes in Computer Science, J. M. Kunkel and T. Ludwig, Eds. Springer International Publishing, 2015, vol. 9137, pp. 358–375.S. Wienke, J. Miller, M. Schulz, and M. S. Müller, “Development Effort Estimation in HPC,” in SC16: International Conference for High Performance Computing, Networking, Storage and Analysis, 2016, pp. 107–118.S. Wienke, T. Cramer, M. S. Müller, and M. Schulz, “Quantifying Productivity-Towards Development Effort Estimation in HPC,” Poster at the International Conference for High Performance Computing, Networking, Storage and Analysis (SC15), 2015.S. Wienke, “Development Effort Methodologies,” Chair for High Performance Computing, RWTH Aachen University, http://www.hpc.rwth-aachen.de/research/tco, 2016.

References

[email protected] http://www.hpc.rwth-aachen.de/research/tco SC17: Doctoral Showcase

Pre-knowledge on HW & parallel prog. modelCode workPre-knowledge on numerical algorithm usedParallel prog. model & compiler/ runtime systemPerformanceArchitecture/ hardwareToolsKind of algorithmCode sizePortability & maintain-ability over code’s lifetimeEnergy efficiency

QfS R )eperformanc(effort

mor

e im

pact

less

impa

ct

$

[$]costvaluetyproductivi

= HW + energy + development cost + …

dev. effort [day] * salary

),(TCO),(

),(typroductivi ,

nnr

n iapp n: system size [#nodes]

τ: system lifetime [years]

α: system availabilityqapp,i: quality weighting factorpi: capacity weighting factor)(

)(),(

,

,,

iiappi

iiappiiapp ntn

nnqpnr

)()(),(TCO nCnCn paot

day$

system availability HW

purchase costs

PUEelectricity costs per

kWhapp.

kernel runtime

app. serial

runtime

app. power consumption

parameters < 0.5%

nonesystem lifetime

main effects(based on RWTH Aachen data)

prod

uctiv

ity

investment [$]

system Asystem B

prod

uctiv

ity

system lifetime [years]

single phasetwo phases

duration of funding period

effo

rt

performance

sample real-worldperformance life-cycle80-20 rule

1st parallel version

tuned parallelversions

Productivity and Software Development Effort Estimation in HPCSandra Wienke

IT Center & Chair for High Performance Computing, RWTH Aachen University, Germany

Serving the ever increasing demands for computa-tional power, expenses of HPC centers increase in terms of acquisition, energy, and programming. Thus, a quantifiable productivity metric is needed in HPC procure-ments to make an informed decision on how to invest available budgets.

Challenges• Real-world applicability

w/ multi-job setups• Quantification of value• Prediction of all

productivity parameters• Especially, estimation of

development effort• Intangible character of

various impact factors• Data collection through

human-subject research

I introduce a productivity model with predictive power to foster informed decision making in HPC procurements.

For instance, it can be used to compare various systems, or to argue for single- or two-phase procurements.

Value: Number of Application Runs• Number of runs of (relevant) simulation applications• Focus on application runtime tapp,i for application i

running on ni compute nodes• Overarching metric for real-world job mix setups

Cost: Total Cost of Ownership (TCO)• One-time costs Cot and annual costs Cpa

• Categorization: costs per node and per node type• Inclusion of costs for, e.g., programming, energy, hardware

Sensitivity Analysis• Variances in productivity due to

errors in assumptions• Only few (well-understood)

parameters must be accurately predicted robust

My research covers a productivity figure of merit for HPC procure-ments that is applicable to real-world multi-job setups. To embrace an estimation of software development effort into the productivity model, I provide a methodology that is based on performance life-cycles and statistical analysis of data collected in human-subject research.

In future, I will continue to collect corresponding data sets and investigate conditional refinements of the productivity model.

As part of a sound TCO and productivity model, I introduce a methodology to estimate development efforts needed to parallelize, port and tune simulation codes to efficiently exploit (novel) HPC hardware.

Performance Life-Cycle• Model of relationship of performance and effort needed to

achieve this performance

• Numerous factors impact effort (captured in S, R, Q)• Regression analysis from collected data

Impact Factors on Effort

Identification of key drivers• Focus on most influencing factors• Factor ranking based on surveys

Quantification of “pre-knowledge”• Knowledge surveys (confidence

rating)

Quantification of “parallel program-ming model & numerical algorithm”• Pattern-based suitability mapping

Data Collection• Basis of statistically reliable results are sufficient data sets• Targeting at community effort: tools and material online,

e.g., effort-performance pairs by our tool EffortLog

Introduction Productivity Development Effort Conclusion

S. Wienke, D. an Mey, and M. S. Müller, “Accelerators for Technical Computing: Is It Worth the Pain? A TCO Perspective,” in Supercomputing, ser. Lecture Notes in Computer Science, J. M. Kunkel, T. Ludwig, and H. W. Meuer, Eds. Springer Berlin Heidelberg, 2013, vol. 7905, pp. 330–342.S. Wienke, H. Iliev, D. an Mey, and M. S. Müller, “Modeling the Productivity of HPC Systems on a Computing Center Scale,” in High Performance Computing, ser. Lecture Notes in Computer Science, J. M. Kunkel and T. Ludwig, Eds. Springer International Publishing, 2015, vol. 9137, pp. 358–375.S. Wienke, J. Miller, M. Schulz, and M. S. Müller, “Development Effort Estimation in HPC,” in SC16: International Conference for High Performance Computing, Networking, Storage and Analysis, 2016, pp. 107–118.S. Wienke, T. Cramer, M. S. Müller, and M. Schulz, “Quantifying Productivity-Towards Development Effort Estimation in HPC,” Poster at the International Conference for High Performance Computing, Networking, Storage and Analysis (SC15), 2015.S. Wienke, “Development Effort Methodologies,” Chair for High Performance Computing, RWTH Aachen University, http://www.hpc.rwth-aachen.de/research/tco, 2016.

References

[email protected] http://www.hpc.rwth-aachen.de/research/tco SC17: Doctoral Showcase

Pre-knowledge on HW & parallel prog. modelCode workPre-knowledge on numerical algorithm usedParallel prog. model & compiler/ runtime systemPerformanceArchitecture/ hardwareToolsKind of algorithmCode sizePortability & maintain-ability over code’s lifetimeEnergy efficiency

QfS R )eperformanc(effort

mor

e im

pact

less

impa

ct

$

[$]costvaluetyproductivi

= HW + energy + development cost + …

dev. effort [day] * salary

),(TCO),(

),(typroductivi ,

nnr

n iapp n: system size [#nodes]

τ: system lifetime [years]

α: system availabilityqapp,i: quality weighting factorpi: capacity weighting factor)(

)(),(

,

,,

iiappi

iiappiiapp ntn

nnqpnr

)()(),(TCO nCnCn paot

day$

system availability HW

purchase costs

PUEelectricity costs per

kWhapp.

kernel runtime

app. serial

runtime

app. power consumption

parameters < 0.5%

nonesystem lifetime

main effects(based on RWTH Aachen data)

prod

uctiv

ity

investment [$]

system Asystem B

prod

uctiv

ity

system lifetime [years]

single phasetwo phases

duration of funding period

effo

rt

performance

sample real-worldperformance life-cycle80-20 rule

1st parallel version

tuned parallelversions

Productivity and Software Development Effort Estimation in HPCSandra Wienke

IT Center & Chair for High Performance Computing, RWTH Aachen University, Germany

Serving the ever increasing demands for computa-tional power, expenses of HPC centers increase in terms of acquisition, energy, and programming. Thus, a quantifiable productivity metric is needed in HPC procure-ments to make an informed decision on how to invest available budgets.

Challenges• Real-world applicability

w/ multi-job setups• Quantification of value• Prediction of all

productivity parameters• Especially, estimation of

development effort• Intangible character of

various impact factors• Data collection through

human-subject research

I introduce a productivity model with predictive power to foster informed decision making in HPC procurements.

For instance, it can be used to compare various systems, or to argue for single- or two-phase procurements.

Value: Number of Application Runs• Number of runs of (relevant) simulation applications• Focus on application runtime tapp,i for application i

running on ni compute nodes• Overarching metric for real-world job mix setups

Cost: Total Cost of Ownership (TCO)• One-time costs Cot and annual costs Cpa

• Categorization: costs per node and per node type• Inclusion of costs for, e.g., programming, energy, hardware

Sensitivity Analysis• Variances in productivity due to

errors in assumptions• Only few (well-understood)

parameters must be accurately predicted robust

My research covers a productivity figure of merit for HPC procure-ments that is applicable to real-world multi-job setups. To embrace an estimation of software development effort into the productivity model, I provide a methodology that is based on performance life-cycles and statistical analysis of data collected in human-subject research.

In future, I will continue to collect corresponding data sets and investigate conditional refinements of the productivity model.

As part of a sound TCO and productivity model, I introduce a methodology to estimate development efforts needed to parallelize, port and tune simulation codes to efficiently exploit (novel) HPC hardware.

Performance Life-Cycle• Model of relationship of performance and effort needed to

achieve this performance

• Numerous factors impact effort (captured in S, R, Q)• Regression analysis from collected data

Impact Factors on Effort

Identification of key drivers• Focus on most influencing factors• Factor ranking based on surveys

Quantification of “pre-knowledge”• Knowledge surveys (confidence

rating)

Quantification of “parallel program-ming model & numerical algorithm”• Pattern-based suitability mapping

Data Collection• Basis of statistically reliable results are sufficient data sets• Targeting at community effort: tools and material online,

e.g., effort-performance pairs by our tool EffortLog

Introduction Productivity Development Effort Conclusion

S. Wienke, D. an Mey, and M. S. Müller, “Accelerators for Technical Computing: Is It Worth the Pain? A TCO Perspective,” in Supercomputing, ser. Lecture Notes in Computer Science, J. M. Kunkel, T. Ludwig, and H. W. Meuer, Eds. Springer Berlin Heidelberg, 2013, vol. 7905, pp. 330–342.S. Wienke, H. Iliev, D. an Mey, and M. S. Müller, “Modeling the Productivity of HPC Systems on a Computing Center Scale,” in High Performance Computing, ser. Lecture Notes in Computer Science, J. M. Kunkel and T. Ludwig, Eds. Springer International Publishing, 2015, vol. 9137, pp. 358–375.S. Wienke, J. Miller, M. Schulz, and M. S. Müller, “Development Effort Estimation in HPC,” in SC16: International Conference for High Performance Computing, Networking, Storage and Analysis, 2016, pp. 107–118.S. Wienke, T. Cramer, M. S. Müller, and M. Schulz, “Quantifying Productivity-Towards Development Effort Estimation in HPC,” Poster at the International Conference for High Performance Computing, Networking, Storage and Analysis (SC15), 2015.S. Wienke, “Development Effort Methodologies,” Chair for High Performance Computing, RWTH Aachen University, http://www.hpc.rwth-aachen.de/research/tco, 2016.

References

[email protected] http://www.hpc.rwth-aachen.de/research/tco SC17: Doctoral Showcase

Pre-knowledge on HW & parallel prog. modelCode workPre-knowledge on numerical algorithm usedParallel prog. model & compiler/ runtime systemPerformanceArchitecture/ hardwareToolsKind of algorithmCode sizePortability & maintain-ability over code’s lifetimeEnergy efficiency

QfS R )eperformanc(effort

mor

e im

pact

less

impa

ct

$

[$]costvaluetyproductivi

= HW + energy + development cost + …

dev. effort [day] * salary

),(TCO),(

),(typroductivi ,

nnr

n iapp n: system size [#nodes]

τ: system lifetime [years]

α: system availabilityqapp,i: quality weighting factorpi: capacity weighting factor)(

)(),(

,

,,

iiappi

iiappiiapp ntn

nnqpnr

)()(),(TCO nCnCn paot

day$

system availability HW

purchase costs

PUEelectricity costs per

kWhapp.

kernel runtime

app. serial

runtime

app. power consumption

parameters < 0.5%

nonesystem lifetime

main effects(based on RWTH Aachen data)

prod

uctiv

ity

investment [$]

system Asystem B

prod

uctiv

ity

system lifetime [years]

single phasetwo phases

duration of funding period

effo

rt

performance

sample real-worldperformance life-cycle80-20 rule

1st parallel version

tuned parallelversions

Productivity and Software Development Effort Estimation in HPCSandra Wienke

IT Center & Chair for High Performance Computing, RWTH Aachen University, Germany

Serving the ever increasing demands for computa-tional power, expenses of HPC centers increase in terms of acquisition, energy, and programming. Thus, a quantifiable productivity metric is needed in HPC procure-ments to make an informed decision on how to invest available budgets.

Challenges• Real-world applicability

w/ multi-job setups• Quantification of value• Prediction of all

productivity parameters• Especially, estimation of

development effort• Intangible character of

various impact factors• Data collection through

human-subject research

I introduce a productivity model with predictive power to foster informed decision making in HPC procurements.

For instance, it can be used to compare various systems, or to argue for single- or two-phase procurements.

Value: Number of Application Runs• Number of runs of (relevant) simulation applications• Focus on application runtime tapp,i for application i

running on ni compute nodes• Overarching metric for real-world job mix setups

Cost: Total Cost of Ownership (TCO)• One-time costs Cot and annual costs Cpa

• Categorization: costs per node and per node type• Inclusion of costs for, e.g., programming, energy, hardware

Sensitivity Analysis• Variances in productivity due to

errors in assumptions• Only few (well-understood)

parameters must be accurately predicted robust

My research covers a productivity figure of merit for HPC procure-ments that is applicable to real-world multi-job setups. To embrace an estimation of software development effort into the productivity model, I provide a methodology that is based on performance life-cycles and statistical analysis of data collected in human-subject research.

In future, I will continue to collect corresponding data sets and investigate conditional refinements of the productivity model.

As part of a sound TCO and productivity model, I introduce a methodology to estimate development efforts needed to parallelize, port and tune simulation codes to efficiently exploit (novel) HPC hardware.

Performance Life-Cycle• Model of relationship of performance and effort needed to

achieve this performance

• Numerous factors impact effort (captured in S, R, Q)• Regression analysis from collected data

Impact Factors on Effort

Identification of key drivers• Focus on most influencing factors• Factor ranking based on surveys

Quantification of “pre-knowledge”• Knowledge surveys (confidence

rating)

Quantification of “parallel program-ming model & numerical algorithm”• Pattern-based suitability mapping

Data Collection• Basis of statistically reliable results are sufficient data sets• Targeting at community effort: tools and material online,

e.g., effort-performance pairs by our tool EffortLog

Introduction Productivity Development Effort Conclusion

S. Wienke, D. an Mey, and M. S. Müller, “Accelerators for Technical Computing: Is It Worth the Pain? A TCO Perspective,” in Supercomputing, ser. Lecture Notes in Computer Science, J. M. Kunkel, T. Ludwig, and H. W. Meuer, Eds. Springer Berlin Heidelberg, 2013, vol. 7905, pp. 330–342.S. Wienke, H. Iliev, D. an Mey, and M. S. Müller, “Modeling the Productivity of HPC Systems on a Computing Center Scale,” in High Performance Computing, ser. Lecture Notes in Computer Science, J. M. Kunkel and T. Ludwig, Eds. Springer International Publishing, 2015, vol. 9137, pp. 358–375.S. Wienke, J. Miller, M. Schulz, and M. S. Müller, “Development Effort Estimation in HPC,” in SC16: International Conference for High Performance Computing, Networking, Storage and Analysis, 2016, pp. 107–118.S. Wienke, T. Cramer, M. S. Müller, and M. Schulz, “Quantifying Productivity-Towards Development Effort Estimation in HPC,” Poster at the International Conference for High Performance Computing, Networking, Storage and Analysis (SC15), 2015.S. Wienke, “Development Effort Methodologies,” Chair for High Performance Computing, RWTH Aachen University, http://www.hpc.rwth-aachen.de/research/tco, 2016.

References

[email protected] http://www.hpc.rwth-aachen.de/research/tco SC17: Doctoral Showcase

Pre-knowledge on HW & parallel prog. modelCode workPre-knowledge on numerical algorithm usedParallel prog. model & compiler/ runtime systemPerformanceArchitecture/ hardwareToolsKind of algorithmCode sizePortability & maintain-ability over code’s lifetimeEnergy efficiency

QfS R )eperformanc(effort

mor

e im

pact

less

impa

ct

$

[$]costvaluetyproductivi

= HW + energy + development cost + …

dev. effort [day] * salary

),(TCO),(

),(typroductivi ,

nnr

n iapp n: system size [#nodes]

τ: system lifetime [years]

α: system availabilityqapp,i: quality weighting factorpi: capacity weighting factor)(

)(),(

,

,,

iiappi

iiappiiapp ntn

nnqpnr

)()(),(TCO nCnCn paot

day$

system availability HW

purchase costs

PUEelectricity costs per

kWhapp.

kernel runtime

app. serial

runtime

app. power consumption

parameters < 0.5%

nonesystem lifetime

main effects(based on RWTH Aachen data)

prod

uctiv

ity

investment [$]

system Asystem B

prod

uctiv

ity

system lifetime [years]

single phasetwo phases

duration of funding period

effo

rt

performance

sample real-worldperformance life-cycle80-20 rule

1st parallel version

tuned parallelversions

Productivity and Software Development Effort Estimation in HPCSandra Wienke

IT Center & Chair for High Performance Computing, RWTH Aachen University, Germany

Serving the ever increasing demands for computa-tional power, expenses of HPC centers increase in terms of acquisition, energy, and programming. Thus, a quantifiable productivity metric is needed in HPC procure-ments to make an informed decision on how to invest available budgets.

Challenges• Real-world applicability

w/ multi-job setups• Quantification of value• Prediction of all

productivity parameters• Especially, estimation of

development effort• Intangible character of

various impact factors• Data collection through

human-subject research

I introduce a productivity model with predictive power to foster informed decision making in HPC procurements.

For instance, it can be used to compare various systems, or to argue for single- or two-phase procurements.

Value: Number of Application Runs• Number of runs of (relevant) simulation applications• Focus on application runtime tapp,i for application i

running on ni compute nodes• Overarching metric for real-world job mix setups

Cost: Total Cost of Ownership (TCO)• One-time costs Cot and annual costs Cpa

• Categorization: costs per node and per node type• Inclusion of costs for, e.g., programming, energy, hardware

Sensitivity Analysis• Variances in productivity due to

errors in assumptions• Only few (well-understood)

parameters must be accurately predicted robust

My research covers a productivity figure of merit for HPC procure-ments that is applicable to real-world multi-job setups. To embrace an estimation of software development effort into the productivity model, I provide a methodology that is based on performance life-cycles and statistical analysis of data collected in human-subject research.

In future, I will continue to collect corresponding data sets and investigate conditional refinements of the productivity model.

As part of a sound TCO and productivity model, I introduce a methodology to estimate development efforts needed to parallelize, port and tune simulation codes to efficiently exploit (novel) HPC hardware.

Performance Life-Cycle• Model of relationship of performance and effort needed to

achieve this performance

• Numerous factors impact effort (captured in S, R, Q)• Regression analysis from collected data

Impact Factors on Effort

Identification of key drivers• Focus on most influencing factors• Factor ranking based on surveys

Quantification of “pre-knowledge”• Knowledge surveys (confidence

rating)

Quantification of “parallel program-ming model & numerical algorithm”• Pattern-based suitability mapping

Data Collection• Basis of statistically reliable results are sufficient data sets• Targeting at community effort: tools and material online,

e.g., effort-performance pairs by our tool EffortLog

Introduction Productivity Development Effort Conclusion

S. Wienke, D. an Mey, and M. S. Müller, “Accelerators for Technical Computing: Is It Worth the Pain? A TCO Perspective,” in Supercomputing, ser. Lecture Notes in Computer Science, J. M. Kunkel, T. Ludwig, and H. W. Meuer, Eds. Springer Berlin Heidelberg, 2013, vol. 7905, pp. 330–342.S. Wienke, H. Iliev, D. an Mey, and M. S. Müller, “Modeling the Productivity of HPC Systems on a Computing Center Scale,” in High Performance Computing, ser. Lecture Notes in Computer Science, J. M. Kunkel and T. Ludwig, Eds. Springer International Publishing, 2015, vol. 9137, pp. 358–375.S. Wienke, J. Miller, M. Schulz, and M. S. Müller, “Development Effort Estimation in HPC,” in SC16: International Conference for High Performance Computing, Networking, Storage and Analysis, 2016, pp. 107–118.S. Wienke, T. Cramer, M. S. Müller, and M. Schulz, “Quantifying Productivity-Towards Development Effort Estimation in HPC,” Poster at the International Conference for High Performance Computing, Networking, Storage and Analysis (SC15), 2015.S. Wienke, “Development Effort Methodologies,” Chair for High Performance Computing, RWTH Aachen University, http://www.hpc.rwth-aachen.de/research/tco, 2016.

References

[email protected] http://www.hpc.rwth-aachen.de/research/tco SC17: Doctoral Showcase

Pre-knowledge on HW & parallel prog. modelCode workPre-knowledge on numerical algorithm usedParallel prog. model & compiler/ runtime systemPerformanceArchitecture/ hardwareToolsKind of algorithmCode sizePortability & maintain-ability over code’s lifetimeEnergy efficiency

QfS R )eperformanc(effort

mor

e im

pact

less

impa

ct

$

[$]costvaluetyproductivi

= HW + energy + development cost + …

dev. effort [day] * salary

),(TCO),(

),(typroductivi ,

nnr

n iapp n: system size [#nodes]

τ: system lifetime [years]

α: system availabilityqapp,i: quality weighting factorpi: capacity weighting factor)(

)(),(

,

,,

iiappi

iiappiiapp ntn

nnqpnr

)()(),(TCO nCnCn paot

day$

system availability HW

purchase costs

PUEelectricity costs per

kWhapp.

kernel runtime

app. serial

runtime

app. power consumption

parameters < 0.5%

nonesystem lifetime

main effects(based on RWTH Aachen data)

prod

uctiv

ity

investment [$]

system Asystem B

prod

uctiv

ity

system lifetime [years]

single phasetwo phases

duration of funding period

effo

rt

performance

sample real-worldperformance life-cycle80-20 rule

1st parallel version

tuned parallelversions

Productivity and Software Development Effort Estimation in HPCSandra Wienke

IT Center & Chair for High Performance Computing, RWTH Aachen University, Germany

Serving the ever increasing demands for computa-tional power, expenses of HPC centers increase in terms of acquisition, energy, and programming. Thus, a quantifiable productivity metric is needed in HPC procure-ments to make an informed decision on how to invest available budgets.

Challenges• Real-world applicability

w/ multi-job setups• Quantification of value• Prediction of all

productivity parameters• Especially, estimation of

development effort• Intangible character of

various impact factors• Data collection through

human-subject research

I introduce a productivity model with predictive power to foster informed decision making in HPC procurements.

For instance, it can be used to compare various systems, or to argue for single- or two-phase procurements.

Value: Number of Application Runs• Number of runs of (relevant) simulation applications• Focus on application runtime tapp,i for application i

running on ni compute nodes• Overarching metric for real-world job mix setups

Cost: Total Cost of Ownership (TCO)• One-time costs Cot and annual costs Cpa

• Categorization: costs per node and per node type• Inclusion of costs for, e.g., programming, energy, hardware

Sensitivity Analysis• Variances in productivity due to

errors in assumptions• Only few (well-understood)

parameters must be accurately predicted robust

My research covers a productivity figure of merit for HPC procure-ments that is applicable to real-world multi-job setups. To embrace an estimation of software development effort into the productivity model, I provide a methodology that is based on performance life-cycles and statistical analysis of data collected in human-subject research.

In future, I will continue to collect corresponding data sets and investigate conditional refinements of the productivity model.

As part of a sound TCO and productivity model, I introduce a methodology to estimate development efforts needed to parallelize, port and tune simulation codes to efficiently exploit (novel) HPC hardware.

Performance Life-Cycle• Model of relationship of performance and effort needed to

achieve this performance

• Numerous factors impact effort (captured in S, R, Q)• Regression analysis from collected data

Impact Factors on Effort

Identification of key drivers• Focus on most influencing factors• Factor ranking based on surveys

Quantification of “pre-knowledge”• Knowledge surveys (confidence

rating)

Quantification of “parallel program-ming model & numerical algorithm”• Pattern-based suitability mapping

Data Collection• Basis of statistically reliable results are sufficient data sets• Targeting at community effort: tools and material online,

e.g., effort-performance pairs by our tool EffortLog

Introduction Productivity Development Effort Conclusion

S. Wienke, D. an Mey, and M. S. Müller, “Accelerators for Technical Computing: Is It Worth the Pain? A TCO Perspective,” in Supercomputing, ser. Lecture Notes in Computer Science, J. M. Kunkel, T. Ludwig, and H. W. Meuer, Eds. Springer Berlin Heidelberg, 2013, vol. 7905, pp. 330–342.S. Wienke, H. Iliev, D. an Mey, and M. S. Müller, “Modeling the Productivity of HPC Systems on a Computing Center Scale,” in High Performance Computing, ser. Lecture Notes in Computer Science, J. M. Kunkel and T. Ludwig, Eds. Springer International Publishing, 2015, vol. 9137, pp. 358–375.S. Wienke, J. Miller, M. Schulz, and M. S. Müller, “Development Effort Estimation in HPC,” in SC16: International Conference for High Performance Computing, Networking, Storage and Analysis, 2016, pp. 107–118.S. Wienke, T. Cramer, M. S. Müller, and M. Schulz, “Quantifying Productivity-Towards Development Effort Estimation in HPC,” Poster at the International Conference for High Performance Computing, Networking, Storage and Analysis (SC15), 2015.S. Wienke, “Development Effort Methodologies,” Chair for High Performance Computing, RWTH Aachen University, http://www.hpc.rwth-aachen.de/research/tco, 2016.

References

[email protected] http://www.hpc.rwth-aachen.de/research/tco SC17: Doctoral Showcase

Pre-knowledge on HW & parallel prog. modelCode workPre-knowledge on numerical algorithm usedParallel prog. model & compiler/ runtime systemPerformanceArchitecture/ hardwareToolsKind of algorithmCode sizePortability & maintain-ability over code’s lifetimeEnergy efficiency

QfS R )eperformanc(effort

mor

e im

pact

less

impa

ct

$

[$]costvaluetyproductivi

= HW + energy + development cost + …

dev. effort [day] * salary

),(TCO),(

),(typroductivi ,

nnr

n iapp n: system size [#nodes]

τ: system lifetime [years]

α: system availabilityqapp,i: quality weighting factorpi: capacity weighting factor)(

)(),(

,

,,

iiappi

iiappiiapp ntn

nnqpnr

)()(),(TCO nCnCn paot

day$

system availability HW

purchase costs

PUEelectricity costs per

kWhapp.

kernel runtime

app. serial

runtime

app. power consumption

parameters < 0.5%

nonesystem lifetime

main effects(based on RWTH Aachen data)

prod

uctiv

ity

investment [$]

system Asystem B

prod

uctiv

ity

system lifetime [years]

single phasetwo phases

duration of funding period

effo

rt

performance

sample real-worldperformance life-cycle80-20 rule

1st parallel version

tuned parallelversions