Abstract
The major reason for using a simulator, instead of a real test-bed, is to enable repeatable evaluation of large-scale cloud systems. CloudSim, the most widely used simulator, enables users to implement resource provisioning, and management policies. However, CloudSim does not provide support for: (i) interactive online services; (ii) platform heterogeneities; (iii) virtual machine migration modelling; and (iv) other essential models to abstract a real datacenter. This paper describes modifications needed in the classical CloudSim to support realistic experimentations that closely match experimental outcomes in a real system. We extend, and partially re-factor CloudSim to “PerficientCloudSim” in order to provide support for large-scale computation over heterogeneous resources. In the classical CloudSim, we add several classes for workload performance variations due to: (a) CPU heterogeneities; (b) resource contention; and (c) service migration. Through plausible assumptions, our empirical evaluation, using real workload traces from Google and Microsoft Azure clusters, demonstrates that “PerficientCloudSim” can reasonably simulate large-scale heterogeneous datacenters in respect of resource allocation and migration policies, resource contention, and platform heterogeneities. We discuss statistical methods to measure the accuracy of the simulated outcomes.











Similar content being viewed by others
Notes
Personal correspondence with Gabor Kecskemeti, a Research Fellow in Laboratory of Parallel and Distributed Systems, MTA SZTAKI—https://www.lpds.sztaki.hu.
The host that cannot be allocated due to a single resource unavailability—enough CPU is available, but there is insufficient memory [58].
References
Calheiros RN, Ranjan R, Beloglazov A, De Rose CAF, Buyya R (2011) Cloudsim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms. Softw Pract Exp 41(1):23–50
Zakarya M, Gillam L (2019) Modelling resource heterogeneities in cloud simulations and quantifying their accuracy. Simul Model Pract Theory 94:43–65
Zakarya M, Gillam L (2017) Energy and performance aware resource management in heterogeneous cloud datacenters. PhD thesis, University of Surrey
Kecskemeti G (2015) Dissect-cf: a simulator to foster energy-aware scheduling in infrastructure clouds. Simul Model Pract Theory 58:188–218
Kliazovich D, Bouvry P, Khan SU (2012) Greencloud: a packet-level simulator of energy-aware cloud computing data centers. J Supercomput 62(3):1263–1283
Tighe M, Keller G, Bauer M, Lutfiyya H (2012) DCSim: a data centre simulation tool for evaluating dynamic virtualized resource management. In: 2012 8th International Conference on Network and Service Management (CNSM) and 2012 Workshop on Systems Virtualization Management (SVM), pp 385–392. IEEE
Buyya R, Murshed M (2002) Gridsim: a toolkit for the modeling and simulation of distributed resource management and scheduling for grid computing. Concurr Comput Pract Exp 14(13–15):1175–1220
Beloglazov A, Abawajy J, Buyya R (2012) Energy-aware resource allocation heuristics for efficient management of data centers for cloud computing. Future Gener Comput Syst 28(5):755–768
O’Loughlin J (2018) A workload-specific performance brokerage for infrastructure clouds. PhD thesis, University of Surrey
O’Loughlin J, Gillam L (2016) Sibling virtual machine co-location confirmation and avoidance tactics for public infrastructure clouds. J Supercomput 72(3):961–984
Fei X, Liu F, Jin H (2016) Heterogeneity and interference-aware virtual machine provisioning for predictable performance in the cloud. IEEE Trans Comput 65(8):2470–2483
Zakarya M, Gillam L (2019) Managing energy, performance and cost in large scale heterogeneous datacenters using migrations. Future Gener Comput Syst 93:529–547
Reiss C, Wilkes J, Hellerstein JL (2011) Google cluster-usage traces: format + schema. Google Inc., Mountain View, CA, USA, Technical Report
Zakarya M, Gillam L (2016) An energy aware cost recovery approach for virtual machine migration. In: International Conference on the Economics of Grids, Clouds, Systems, and Services, pp 175–190. Springer
Cortez E, Bonde A, Muzio A, Russinovich M, Fontoura M, Bianchini R (2017) Resource central: understanding and predicting workloads for improved resource management in large cloud platforms. In: Proceedings of the 26th Symposium on Operating Systems Principles, pp 153–167. ACM
Shai O, Shmueli E, Feitelson DG (2013) Heuristics for resource matching in intel’s compute farm. In: Workshop on Job Scheduling Strategies for Parallel Processing, pp 116–135. Springer
Lebre A, Pastor J, Simonet A, Südholt M (2019) Putting the next 500 vm placement algorithms to the acid test: the infrastructure provider viewpoint. IEEE Trans Parallel Distrib Syst 30(1):204–217
Sharkh MA, Kanso A, Shami A, Öhlén P (2016) Building a cloud on earth: a study of cloud computing data center simulators. Comput Netw 108:78–96
Perez DA, Velasquez K, Curado M, Monteiro E (2019) A comparative analysis of simulators for the cloud to fog continuum. Simul Model Pract Theory 101:102029
Fakhfakh F, Kacem HH, Kacem AH (2017) Simulation tools for cloud computing: a survey and comparative study. In: 2017 IEEE/ACIS 16th International Conference on Computer and Information Science (ICIS), pp 221–226. IEEE
Khan AA, Zakarya M, Khan R (2019) H2—a hybrid heterogeneity aware resource orchestrator for cloud platforms. IEEE Syst J 13(4):3873–3876
Piraghaj SF, Dastjerdi AV, Calheiros RN, Buyya R (2017) Containercloudsim: an environment for modeling and simulation of containers in cloud data centers. Softw Pract Exp 47(4):505–521
Beloglazov A, Buyya R (2015) Openstack neat: a framework for dynamic and energy-efficient consolidation of virtual machines in openstack clouds. Concurr Comput Pract Exp 27(5):1310–1333
Núñez A, Vázquez-Poletti JL, Caminero AC, Castañé GG, Carretero J, Llorente IM (2012) icancloud: a flexible and scalable cloud infrastructure simulator. J Grid Comput 10(1):185–209
Sonmez C, Ozgovde A, Ersoy C (2018) Edgecloudsim: an environment for performance evaluation of edge computing systems. Trans Emerg Telecommun Technol 29(11):e3493
Gupta H, Dastjerdi AV, Ghosh SK, Buyya R (2017) ifogsim: a toolkit for modeling and simulation of resource management techniques in the internet of things, edge and fog computing environments. Softw Pract Exp 47(9):1275–1296
Puliafito C, Gonçalves DM, Lopes MM, Martins LL, Madeira E, Mingozzi E, Rana O, Bittencourt LF (2020) Mobfogsim: simulation of mobility and migration for fog computing. Simul Model Pract Theory 101:102062
Ostermann S, Plankensteiner K, Prodan R, Fahringer T (2010) Groudsim: an event-based simulation framework for computational grids and clouds. In: European Conference on Parallel Processing, pp 305–313. Springer
Lim SH, Sharma B, Nam G, Kim EK, Das CR (2009) Mdcsim: a multi-tier data center simulation, platform. In: IEEE International Conference on Cluster Computing and Workshops, 2009. CLUSTER’09, pp 1–9. IEEE
De Maio V, Kecskemeti G, Prodan R (2015) A workload-aware energy model for virtual machine migration. In: 2015 IEEE International Conference on Cluster Computing, pp 274–283. IEEE
Lebre A, Pastor J, Südholt M (2015) Vmplaces: a generic tool to investigate and compare vm placement algorithms. In: European Conference on Parallel Processing, pp 317–329. Springer
Cartlidge J, Cliff D (2013) Comparison of cloud middleware protocols and subscription network topologies using crest, the cloud research simulation toolkit-the three truths of cloud computing are: hardware fails, software has bugs, and people make mistakes. In: CLOSER, pp 58–68
Desprez F, Rouzaud-Cornabas J (2013) Simgrid cloud broker: simulating the amazon aws cloud. Report no. RR-8380. https://hal.inria.fr/hal-00909120/
Fernández-Cerero D, Fernández-Montes A, Jakobik A, Kołodziej J, Toro M (2018) Score: simulator for cloud optimization of resources and energy consumption. Simul Model Pract Theory 82:160–173
Fernández-Cerero D, Jakóbik A, Fernández-Montes A, Kołodziej J (2019) Game-score: game-based energy-aware cloud scheduler and simulator for computational clouds. Simul Model Pract Theory 93:3–20
Siavashi A, Momtazpour M (2019) Gpucloudsim: an extension of cloudsim for modeling and simulation of gpus in cloud data centers. J Supercomput 75(5):2535–2561
Rahman UU, Bilal K, Erbad A, Khalid O, Khan SU (2019) Nutshell—simulation toolkit for modeling data center networks and cloud computing. IEEE Access 7:19922–19942
Jscsc K (2020) Ecsnet++: a simulator for distributed stream processing on edge and cloud environments. Future Gener Comput Syst 111:401–418
Tinini RI, dos Santos MRP, Figueiredo GB, Batista DM (2020) 5gpy: a simpy-based simulator for performance evaluations in 5g hybrid cloud-fog ran architectures. Simul Model Pract Theory 101:102030
Das K (2011) Cloud computing simulation. PhD thesis, Indian Institute of Technology, Bombay Mumbai
Di S, Cappello F (2015) Gloudsim: Google trace based cloud simulator with virtual machines. Softw Pract Exp 45(11):1571–1590
Park KS, Pai VS (2006) Comon: a mostly-scalable monitoring system for planetlab. ACM SIGOPS Oper Syst Rev 40(1):65–74
Zakarya M (2018) An extended energy-aware cost recovery approach for virtual machine migration. IEEE Syst J 13(2):1466–1477
Huang Q, Gao F, Wang R, Qi Z (2011) Power consumption of virtual machine live migration in clouds. In: Proceedings—2011 3rd International Conference on Communications and Mobile Computing, CMC 2011, pp 122–125
Alzamil I, Djemame K, Armstrong D, Kavanagh R (2015) Energy-aware profiling for cloud computing environments. Electron Notes Theor Comput Sci 318:91–108
Alzamil I, Djemame K (2016) Energy prediction for cloud workload patterns. In: International Conference on the Economics of Grids, Clouds, Systems, and Services, pp 160–174. Springer
Khan AA, Zakarya M, Khan R, Rahman IU, Khan M et al (2019) An energy, performance efficient resource consolidation scheme for heterogeneous cloud datacenters. J Netw Comput Appl 150:102497
O’Loughlin J, Gillam L (2014) Performance evaluation for cost-efficient public infrastructure cloud use. In: International Conference on Grid Economics and Business Models, pp 133–145. Springer
Jo C, Cho Y, Egger B (2017) A machine learning approach to live migration modeling. In: Proceedings of the 2017 Symposium on Cloud Computing, pp 351–364. ACM
Wu Y, Zhao M (2011) Performance modeling of virtual machine live migration. In: 2011 IEEE 4th International Conference on Cloud Computing, pp 492–499. IEEE
Liu H, Jin H, Cheng-Zhong X, Liao X (2013) Performance and energy modeling for live migration of virtual machines. Clust Comput 16(2):249–264
Callau-Zori M, Samoila L, Orgerie A-C, Pierre G (2018) An experiment-driven energy consumption model for virtual machine management systems. Sustain Comput Inform Syst 18:163–174
Ferreto TC, Netto MAS, Calheiros RN, De Rose CAF (2011) Server consolidation with migration control for virtualized data centers. Future Gener Comput Syst 27(8):1027–1034
Zakarya M (2018) Energy, performance and cost efficient datacenters: a survey. Renew Sustain Energy Rev 94:363–385
Beloglazov A, Buyya R (2012) Optimal online deterministic algorithms and adaptive heuristics for energy and performance efficient dynamic consolidation of virtual machines in cloud data centers. Concurr Comput Pract Exp 24(13):1397–1420
Khan AA, Zakarya M, Khan R (2019) Energy-aware dynamic resource management in elastic cloud datacenters. Simul Model Pract Theory 92:82–99
Quang-Hung N, Thoai N, Son NT (2014) EPOBF: energy efficient allocation of virtual machines in high performance computing cloud. In: Transactions on Large-Scale Data- and Knowledge-Centered Systems XVI, pp 71–86. Springer
Verma A, Pedrosa L, Korupolu M, Oppenheimer D, Tune E, Wilkes J (2015) Large-scale cluster management at Google with Borg. In: Proceedings of the Tenth European Conference on Computer Systems—EuroSys ’15, pp 1–17
Khan AA, Zakarya M, Buyya R, Khan R, Khan M, Rana O (2019) An energy and performance aware consolidation technique for containerized datacenters. IEEE Trans Cloud Comput. https://doi.org/10.1109/TCC.2019.2920914
Zakarya M, Gillam L (2017) Energy efficient computing, clusters, grids and clouds: a taxonomy and survey. Sustain Comput Inform Syst 14:13–33
Dabbagh M, Hamdaoui B, Guizani M, Rayes A (2014) Release-time aware VM placement. In: Globecom Workshops (GC Wkshps), 2014, pp 122–126. IEEE
Guérout T, Monteil T, Da Costa G, Calheiros RN, Buyya R, Alexandru M (2013) Energy-aware simulation with DVFs. Simul Modell Pract Theory 39:76–91
Garg SK, Buyya R (2011) Networkcloudsim: modelling parallel applications in cloud simulations. In: 2011 Fourth IEEE International Conference on Utility and Cloud Computing (UCC), pp 105–113. IEEE
Calheiros RN, Netto MAS, De Rose CAF, Buyya R (2013) Emusim: an integrated emulation and simulation environment for modeling, evaluation, and validation of performance of cloud computing applications. Softw Pract Exp 43(5):595–612
Frey S, Hasselbring W (2011) The cloudmig approach: model-based migration of software systems to cloud-optimized applications. Int J Adv Softw 4(3 and 4):342–353
Beloglazov A, Buyya R, Lee YC, Zomaya A et al (2011) A taxonomy and survey of energy-efficient data centers and cloud computing systems. Adv Comput 82(2):47–111
De Maio V, Kecskemeti G, Prodan R (2016) An improved model for live migration in data centre simulators. In: Proceedings of the 9th International Conference on Utility and Cloud Computing, pp 108–117. ACM
Acknowledgements
This work was financially supported by the Abdul Wali Khan University, Pakistan and the University of Surrey, UK. The work was produced as part of a PhD program under the supervision of Dr. Lee Gillam at the University of Surrey. Interested cloud researchers can contact the corresponding author for using “PerficientCloudSim.” We are really thankful to Changyeon Jo (CSAP, Seoul National University, Korea) for providing an impressive real workload dataset that consists of VM migration statistics.
Author information
Authors and Affiliations
Corresponding authors
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendix 1: CloudSim
Appendix 1: CloudSim
CloudSim [1] is a tool-kit to model and simulate IaaS clouds. CloudSim is an extension of the GridSim [7] simulator that uses SimJavaFootnote 23 library as a framework for event handling and passing messages between entities. Due to several limitations of SimJava, CloudSim is designed using a new discrete event management framework as demonstrated in [1]. CloudSim is widely used to simulate resource provisioning techniques. It has the ability to perform simulations of IaaS clouds where heterogeneous workload is assigned and executed with different experimental conditions. It enables users to express datacenter characteristics, including the number and specification of hosts, storage, network topology and design of datacenter usage. It enables the design of VM placement policies, allocation of host cores (PEs) to VMs and division of CPU time between users’ workloads. Switching on/off hosts, VM consolidation with migration, and integration of energy models (SPECpowerFootnote 24 benchmarks) are the notable techniques to model energy and performance efficient datacenters in CloudSim [8].
CloudSim basic architecture [1]
Within CloudSim, the application layer is managed by a broker which requests VMs creation. A broker can concurrently own one or more VMs, that are kept running on hosts until their explicit de-allocation by the broker, i.e. tasks are finished or some local requests are waiting (high priority) according to the SLA lease. VMs and host capacities are defined in millions of instructions per second (MIPS). For example, a CPU of 2.0 GHz is defined 2000 millions instructions per second, which means that it can execute 2000 instructions per second. Tasks (cloudlets) are allocated to VMs and defined in terms of the number of CPU instructions necessary for their completion (MIPS). Note that, if MIPS is used as a single measure, it means that workloads are basically homogeneous. Therefore, we assume larger or smaller MIPS as proxy for various workloads, represented by their CPU architecture-specific runtimes, since there is no other way to simulate the distinction between various workloads (e.g. a disk-bound and a CPU bound task). This provides a motivation for the discussion of CPU architectures and workloads at this point, which seems relevant. From CPU heterogeneity point of view, smaller or larger MIPS would certainly translate to variations in runtimes even for similar workloads. From application heterogeneity point of view, applications’ (workloads) runtimes (therefore, smaller or larger MIPS) are mapped statistically to runtimes of several benchmark workloads, such as Bzip2, Povray [9]. Closer similarities in runtimes (i.e. smaller or larger MIPS) are assumed as different types of applications. Figure 12 shows the multi-layered design of the CloudSim simulator framework and its various architectural components [1].
The basic requirements to run CloudSim include: (i) Sun’s Java version 8 or newer; and (ii) Apache antFootnote 25 or MavenFootnote 26 to compile CloudSim. Both Ant and Maven “simplify Java project management by providing various tools and plug-ins for project building, testing and packaging, dependency management, etc.” CloudSim is not compatible with older versions of Java and may not be compatible with non-Sun Java version, such as GCJ or J++. A numerical library such as Flanagan’sFootnote 27 or Apache MathFootnote 28 is needed to run several built in examples inside the CloudSim. CloudSim can be installed on any desktop machine that supports Java 8 or newer version. However, machines with large memories are preferable, particularly, when dealing with large-scale datacenter simulations. Each CloudSim entity is an object, created at the start of the simulation, and this may cause heap memory issues when the Java garbage collector is not able to find un-referenced objects for deletion.
CloudSim has been widely used to: (i) measure the effects of energy-aware VM allocation and migration algorithms on datacenter OpEx (operational expenditures); and (ii) evaluate scheduling mechanisms to allocate tasks to VMs [62]. Because CloudSim is an event driven simulation toolkit, its components maintain a message queue and generate messages, which they pass to other entities. A CloudSim simulation can instantiate several datacenters, each of which comprises several hosts (heterogeneous), which in turn host/accommodate multiple VMs executing one or more tasks. A datacenter is then characterised by its policy of placing requested VMs onto hosts (with the default strategy being to select the host with the least CPU cores in use) [8]. Moreover, each datacenter can be configured to charge users with different prices for storage, VM usage and data transfer (i.e. pricing models).
Each host has its own policy, which defines how its compute resources are to be divided among accommodated VMs, i.e. whether VMs operate on shared (time shared) or distinctly separated (space shared) resources and whether over subscription of resources is allowed or not. In a similar fashion, each VM also comes with a scheduling policy which specifies how its compute resources are to be divided among tasks. On top of this architecture, an application-specific datacenter broker supervises the whole simulation. The broker is responsible to: (a) make requests for allocation and deallocation of VMs inside the datacenter, and (b) assign tasks to VMs for execution. Figure 13 shows the UML class diagram of CloudSim and its various components.
As a completely customisable tool, CloudSim allows extension of policies in all its components, which makes it a suitable research tool that can handle the complexities arising from simulated platforms [1]. Several extensions to CloudSim have been presented in the literature. For example: (i) NetworkCloudSim [63], which introduces sophisticated network modelling and inter-task communication; (ii) EMUSIM [64], which uses emulation to identify the performance requirements and runtime workload characteristics and feeds this information to CloudSim for more accurate simulation; and (iii) CloudMIG [65], which “facilitates the migration of software systems to the cloud by contrasting different cloud deployment options based on the simulation of a code model in CloudSim.” The internal processing of CloudSim in the form of a sequence diagram is shown in Fig. 14. The two methods updateVMProcessing() and updateCloudletsProcessing() are the core processes of the simulation internal processing. At datacenter level, at each simulation step, the former method updates VMs processing inside the hosts. Similarly, at host level, the former method invokes the latter one to update tasks execution which are currently running inside VMs. A comprehensive discussion of the simulation internal processing is available in [1].
Despite its popularity and number of citations, CloudSim is not validated and verified yet, although there are several models inside CloudSim which have been validated in the real world. For example, the linear power model and migration performance model are validated as accurate (\(\sim \) 10% degradation) [66]. However, the linear power model assumes that energy consumption exclusively depends on CPU utilisation by ignoring other components such as memory and network. Moreover, CloudSim does not take into account several important parameters in its VM migration model such as over commitment and memory dirtying rate [67]. Similarly, there is no model to capture the overhead involved in the virtualisation and migration technologies.Footnote 29 Das et al. [40] have extended CloudSim with these models and have validated it through comparing with real-world experiments with an approximate error of \(\pm 2\%\).
CloudSim simulator is designed with using two different kinds of classes: (i) the main classes which interact with each other to simulate a cloud (Sect. 1); and (ii) the core classes which make simulations possible (Sect. 2). We briefly describe these classes, here as we believe it would help readers in understanding CloudSim and our extensions; a detailed discussion of these classes can be found in [1].
1.1 Main classes
The class diagram of the CloudSim main classes is shown in Fig. 13 [1].
BwProvisioner (abstract class) models the provisioning policy of network bandwidth to VMs.
CloudCoordinator periodically monitors the internal state of datacenter (resources) and undertakes dynamic load-shredding decisions.
Cloudlet models the cloud-based application services (each Cloudlet refers to a user’s job/task).
CloudletScheduler (abstract class) can be extended by the implementation of different policies to determine the share of processing power (CPU) among Cloudlets that are running inside a VM. Two types of provisioning policies are offered in CloudSim: (i) space-shared; and (ii) time-shared [1].
CloudletSchedulerTimeShared represents a provisioning policy which allows resources of a single VM to be shared among various cloudlets or tasks—allocate VMs resources to cloudlets or tasks.
CloudletSchedulerSpaceShared represents a provisioning policy which does not allow resources of a single VM to be shared among various cloudlets or tasks—allocate whole VM to a single and exactly one cloudlet or task.
Datacenter models the core infrastructure-level services (hardware) that are offered by cloud providers (such as Google).
DatacenterBroker discovers suitable cloud service providers by querying the CIS and undertakes online negotiations for allocation of resources that can meet the application requirements.
DatacenterCharacteristics contains configuration information of datacenter resources.
Host models a physical resource—host/server and its characteristics.
NetworkTopology contains the information for inducing network behaviour (latencies) in the simulation.
RamProvisioner represents the provisioning policy for memory (RAM) allocation to VMs.
SanStorage models a Storage Area Network (SAN) that is commonly ambient in datacenters for storing data (such as Amazon S3).
Vm models a VM and its characteristics, which is managed and hosted by Host class.
VmAllocationPolicy represents a provisioning policy to place VMs on hosts.
VmScheduler models the policies (space-shared, time-shared) to allocate processor cores (PEs) to VMs.
VmSchedulerTimeShared represents a provisioning policy which allows resources of a single host to be shared among various VMs—allocate processor cores (PEs) to VMs.
VmSchedulerSpaceShared represents a provisioning policy which does not allow resources of a single host to be shared among various VMs—allocate whole processor core (PE) to a single and exactly one VM.
1.2 Core classes
The class diagram of the CloudSim core classes is shown in Fig. 15 [1].
Class diagram of CloudSim core classes [1]
CloudSim responsible to manage event queues and control execution of the simulation events. Every event generated by the CloudSim entity at runtime is stored in a queue (future events). The events are sorted based on their creation time. Each event that is scheduled at the simulation step is removed from the queue (future events) and is added to another queue (deferred events).
CloudInformationService provides resource registration, indexing, and discovering capabilities [1].
CloudSimShutdown waits for the termination of all end-user and broker entities, and then signals the end of simulation to CIS.
CloudSimTags consists of various static events/commands which indicate the action taken by CloudSim entities when they receive or send events.
DeferredQueue implements the deferred event queue.
FutureQueue implements the future event queue.
SimEntity (abstract class) represents a simulation entity that is able to send messages to other entities. Furthermore, CIS is responsible to process received messages, fire and handle events. All entities must override the three core methods in this class: (i) startEntity()—entity initialisation; (ii) processEvent()—processing of events; and (iii) ShutdownEntity()—entity destruction.
SimEvent represents a simulation event that is passed between two or more entities.
The above classes when linked with each other can model a simple, but complete datacenter. Besides these classes, other classes might exist in CloudSim simulator and its various variants, such as FederatedDataCenter, containerDataCenter, VmScheduler, and CloudletScheduler. All these classes are inherited either from the above core classes or main classes in some or other way. Therefore, we do not include them in this paper. A detailed discussion, functionalities/capabilities and explanation of these inherited classes can be found in [1, 22]. Further materials, documentations, online courses, publications and several variants of the CloudSim simulator are available at the portal of CLOUDS Laboratory.Footnote 30
Rights and permissions
About this article
Cite this article
Zakarya, M., Gillam, L., Khan, A.A. et al. PerficientCloudSim: a tool to simulate large-scale computation in heterogeneous clouds. J Supercomput 77, 3959–4013 (2021). https://doi.org/10.1007/s11227-020-03425-5
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-020-03425-5