Abstract
One of the important factors in high-performance computing (HPC) is the cost/performance ratio. Calculation of cost/performance ratio is the main criterion for the separation of hardware computing systems (supercomputers) from software computing systems (Cluster, Grid, Peer-to-Peer). There are various economic methods to calculate hardware cost. In addition, there are numerous methods in software engineering to calculate the cost of developing and programming the scientific and engineering software. The computing power in the aforementioned systems is basically calculated with programs like LINPACK and HPCL. The inter-process communication is considered as a variable in calculating the cost of executing the scientific programs, whose nature and amount depends on the program execution itself. As there is a high dependency of effective variables in cost calculation of inter-process communications during the program execution, it should be used for calculating the cost of any application. This paper complements the existing methods by presenting a more comprehensive and accurate method to calculate the real cost of distributed shared memory (DSM) mechanisms used by HPC Systems. Therefore, a systematic method has been used to achieve a whole equation for DSM costing, determine the effective factors of the cost, and propose a method based on costing economic methods. Effective parameters are classified into two groups, namely DSM-inhere dependent and application-specific dependent parameters. Each parameter is presented and discussed, and the correlation between them specifies the system’s weight on DSM real cost according to which the cost is modeled and validated analytically.
Similar content being viewed by others
References
Expósito, RR et al (2013) Running scientific codes on Amazon EC2: a performance analysis of five high-end instances. J Comput Sci Technol 13:153–159
Al Geist, Reed DA (2017) A survey of high-performance computing scaling challenges. Int J High Perform Comput Appl 31(1):104–113
Thackston R, Fortenberry R (2015) High performance computing: considerations when deciding to rent or buy
Zhang, Z, Cherkasova L, Loo BT (2014) Optimizing cost and performance trade-offs for MapReduce job processing in the cloud. In: 2014 IEEE Network Operations and Management Symposium (NOMS). IEEE
Kurmann C, Rauch F, Stricker TM, (2003) Cost/performance tradeoffs in network interconnects for clusters of commodity PCs. Workshop on Communication Architecture for Clusters, Nice, France
Rauber T, Rünger G (2013) Parallel programming: for multicore and cluster systems. Springer, Berlin
Tootaghaj DZ et al (2015) Evaluating the combined impact of node architecture and cloud workload characteristics on network traffic and performance/cost. In: 2015 IEEE International Symposium on Workload Characterization (IISWC). IEEE
Adams M (2014) HPGMG 1.0: a benchmark for ranking high performance computing systems
Sukharev PV et al (2017) Benchmarking of high performance computing clusters with heterogeneous CPU/GPU architecture. In: IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering (EIConRus). IEEE
Dongarra J, Heroux MA, Luszczek P (2015) HPCG benchmark: a new metric for ranking high performance computing systems. Knoxville
Al-Roomi M et al (2013) Cloud computing pricing models: a survey. Int J Grid Distrib Comput 6(5):93–106
Bhowmick A, Prasad CGVN (2017) Time and cost optimization by grid computing over existing traditional IT systems in business environment. Int J 5:93–98
Han R et al (2014) Enabling cost-aware and adaptive elasticity of multi-tier cloud applications. Future Gener Comput Syst 32:82–98
Núñez A, Merayo MG (2014) A formal framework to analyze cost and performance in map-reduce based applications. J Comput Sci 5(2):106–118
Iosup A et al (2011) Performance analysis of cloud computing services for many-tasks scientific computing. IEEE Trans Parallel Distrib Syst 22(6):931–945
Menascé D, Almeida V (1990) Cost-performance analysis of heterogeneity in supercomputer architectures. In: Proceedings of Supercomputing’90. IEEE
Marathe A et al (2013) A comparative study of high-performance computing on the cloud. In: Proceedings of the 22nd International Symposium on High-Performance Parallel and Distributed Computing. ACM
Garg SK, Versteeg S, Buyya R (2013) A framework for ranking of cloud computing services. Future Gener Comput Syst 29(4):1012–1023
De Alfonso C (2013) An economic and energy-aware analysis of the viability of outsourcing cluster computing to a cloud. Future Gener Comput Syst 29(3):704–712
Kaplan R, Anderson SR (2013) Time-driven activity-based costing: a simpler and more powerful path to higher profits. Harvard business press, Boston
Tahir M et al (2016) Framework for Better Reusability in Component Based Software Engineering. J Appl Environ Biol Sci (JAEBS) 6:77–81
Fenton N, Bieman J (2014) Software metrics: a rigorous and practical approach. CRC Press, Boca Raton
Berriman GB et al (2010) The application of cloud computing to astronomy: a study of cost and performance. In: Sixth IEEE International Conference on e-Science Workshops. IEEE
Deelman E et al (2015) Pegasus, a workflow management system for science automation. Future Gener Comput Syst 46:17–35
Yan Z et al (2011) Cloud versus in-house cluster: evaluating Amazon cluster compute instances for running MPI applications. In: State of the Practice Reports. ACM
Woitaszek M, Tufo HM (2010) Developing a cloud computing charging model for high-performance computing resources. In: IEEE 10th International Conference on Computer and Information Technology (CIT). IEEE
Aviram A et al (2012) Efficient system-enforced deterministic parallelism. Commun ACM 55(5):111–119
Otley D, Emmanuel KMC (2013) Readings in accounting for management control. Springer, Berlin
Schöner G (2013) Dynamical systems thinking. In: Handbook of developmental systems theory and methodology, p 188
Drury CM (2013) Management and cost accounting. Springer, Berlin
Deegan C (2012) Australian financial accounting. McGraw-Hill Education Australia
Lian X et al (2015) Cache coherence protocols in shared-memory multiprocessors
Lenoski DE, Weber W-D (2014) Scalable shared-memory multiprocessing. Elsevier, Amsterdam
Qura-Tul FASN, Khan AKDMS (2015) Development of cluster computing—a review. Development 5(1):1–9
Satish N et al (2012) Can traditional programming bridge the ninja performance gap for parallel computing applications? ACM SIGARCH Computer Architecture News, vol 40, no 3. IEEE Computer Society
Menezo LG, Puente V, Gregorio J-A (2015) Flask coherence: a morphable hybrid coherence protocol to balance energy, performance, and scalability. In: 2015 IEEE 21st International Symposium on High Performance Computer Architecture (HPCA). IEEE
Serrano Gómez M (2013) Scheduling local and remote memory in cluster computers. Dissertation, Editorial Universitat Politècnica de València
Behrends R et al (2016) HPC-GAP: engineering a 21st-century high-performance computer algebra system. Concurr Comput Pract Exp 28(13):3606–3636
Kasahara H et al (2012) Method for controlling heterogeneous multiprocessor and multigrain parallelizing compiler. US Patent 8,250,548, 21 Aug
Marongiu A, Benini L (2012) An OpenMP compiler for efficient use of distributed scratchpad memory in MPSoCs. IEEE Trans Comput 61(2):222–236
Engle C et al (2012) Shark: fast data analysis sing coarse-grained distributed memory. In: Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data. ACM
Cruz EHM et al (2014) Dynamic thread mapping of shared memory applications by exploiting cache coherence protocols. J Parallel Distrib Comput 74(3):2215–2228
Habel R, Silber-Chaussumier F, Irigoin F (2013) Generating Efficient Parallel Programs for Distributed Memory Systems. Technical Report CRI/A-523, MINES ParisTech and Télécom SudParis
Sim J et al (2012) A performance analysis framework for identifying potential benefits in GPGPU applications. ACM SIGPLAN Notices, vol 47, no 8. ACM
Kaashoek MF (2015) Parallel computing and the OS. SOSP History Day 2015. ACM
Bericht T, Darmstadt TH, Informatik F, Theel OE, Fleisch Br D (1996) A dynamic coherence protocol for distributed shared memory enforcing high data availability at low costs. IEEE Trans Parallel Distrib Syst 7(9):915–30
Yuan D et al (2014) Simple testing can prevent most critical failures: an analysis of production failures in distributed data-intensive systems. In: 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI 14)
Medya S, Cherkasova L, Magalhaes G, Ozonat K, Padmanabha C, Sarma J, Sheikh I (2016) Towards performance and scalability analysis of distributed memory programs on large-scale clusters. In: Proceedings of the 7th ACM/SPEC on International Conference on Performance Engineering. ACM, pp 113–116
He S et al (2013) A cost-aware region-level data placement scheme for hybrid parallel i/o systems. In: IEEE International Conference on Cluster Computing (CLUSTER). IEEE
Susmit B (2014) The software architecture for efficient distributed interprocess communication in mobile distributed systems. J Grid Comput 12(4):615–635
Sharifi M, Mirtaheri SL, Khaneghah EM (2010) A dynamic framework for integrated management of all types of resources in P2P systems. J Supercomput 52(2):149–170
Khaneghah EM (2017) PMamut: runtime flexible resource management framework in scalable distributed system based on nature of request, demand and supply and federalism. US Patent 9,613,312, 4 Apr
Musial P, Nicolaou N, Shvartsman AA (2014) Implementing distributed shared memory for dynamic networks. Commun ACM 57(6):88–98
Kim J, Vaidya NH (1997) A cost model for distributed shared memory using competitive update. In: Fourth International Conference on High-Performance Computing, Bangalore, India
Gray J (1988) The cost of messages. In: Proceedings of the Seventh Annual ACM Symposium on Principles of Distributed Computing, Toronto, Ontario, Canada
Kim J-H, Vaidya NH (1997) A cost model for distributed shared memory using competitive update. In: Proceedings of Fourth International Conference on High-Performance Computing. IEEE
Li S et al (2015) An extensible framework for predictive analytics on cost and performance in the cloud. In: International Conference on Cloud Computing and Big Data (CCBD). IEEE
Dave VS, Dutta K (2014) Neural network based models for software effort estimation: a review. Artif Intell Rev 42(2):295–307
Hassan HA, Mohamed SA, Sheta WM (2016) Scalability and communication performance of HPC on Azure Cloud. Egypt Inform J 17(2):175–182
Midgley G (ed) (2003) Systems thinking. Sage, London
Thüm T et al (2014) A classification and survey of analysis strategies for software product lines. ACM Comput Surv (CSUR) 47(1):6
Metzger A, Pohl K (2014) Software product line engineering and variability management: achievements and challenges. In: Proceedings of the on Future of Software Engineering. ACM
Sharifi M, Tirado-Ramos A, Khaneghah EM, Mirtaheri SL (2010) Formulating the real cost of dsm-inherent dependent parameters in HPC clusters. In: SMTP workshop in conjunction with the IEEE International Parallel & Distributed Processing Symposium (IPDPS 2010), 19 April
Power R (2014) Abstractions for in-memory distributed computation. Dissertation, New York University
Vasava, HD, Rathod JM (2015) Software based distributed shared memory (DSM) model using shared variables between multiprocessors. In: International Conference on Communications and Signal Processing (ICCSP). IEEE
Maosen H, Wei H, Huang Y (2016) Enabling mobile device coordination over distributed shared memory. In: IEEE 22nd International Conference on Parallel and Distributed Systems (ICPADS). IEEE
Pelley S, Chen PM, Wenisch TF (2014) Memory persistency. In: 2014 ACM/IEEE 41st International Symposium on Computer Architecture (ISCA). IEEE
Alglave J, Maranget L, Tautschnig M (2014) Herding cats: modelling, simulation, testing, and data mining for weak memory. ACM Trans Program Lang Syst (TOPLAS) 36(2):7
Ghosh S (2014) Distributed systems: an algorithmic approach. CRC Press, Boca Raton
Kaxiras S et al (2015) Turning centralized coherence and distributed critical-section execution on their head: a new approach for scalable distributed shared memory. In: Proceedings of the 24th International Symposium on High-Performance Parallel and Distributed Computing. ACM
Das D, Ray RS, Ray UK (2016) Implementation and consistency issues in distributed shared memory. Int J Comput Sci Eng 4(12):125
Dulloor S R et al (2014) System software for persistent memory. In: Proceedings of the Ninth European Conference on Computer Systems. ACM
Low Y et al (2014) Graphlab: a new framework for parallel machine learning. arXiv:1408.2041
Javanbakht Z, Öchsner A (2017) Introduction to Marc/Mentat. In: Advanced finite element simulation with MSC Marc. Springer, Cham
Shrivastava A et al (2016) Automatic management of software programmable memories in many-core architectures. IET Comput Digit Tech 10(6):288–298
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Khaneghah, E.M., Shadnoush, N. & Ghobakhlou, A.H. A mathematical model to calculate real cost/performance in software distributed shared memory on computing environments. J Supercomput 74, 1715–1764 (2018). https://doi.org/10.1007/s11227-017-2191-7
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-017-2191-7