SDDC: A Software Defined Datacenter Experimental Framework Ala’ Darabseh 1 , Mahmoud Al-Ayyoub 1 , Yaser Jararweh 1 , Elhadj Benkhelifa 2 , Mladen Vouk 3 , and Andy Rindos 4 , 1 Jordan University of Science and Technology, Irbid, Jordan 2 Mobile Fusion Applied Research Centre, Staffordshire University, Stafford. UK 3 North Carolina State University, Raleigh, North Carolina, USA. 4 IBM Corporation, Research Triangle Park, North Carolina, USA. Abstract—The rapid growth and the distributed sites of the datacenters increase the complexity of control and management processes. A new paradigm which is called Software Defined Systems (SDSys) comes as a solution to reduce the overhead of datacenters management by abstracting all the control func- tionalities from the hardware devices and setting it inside a software layer. These functionalities are responsible for organizing and controlling the main blocks of the datacenter; network, storage, compute and security. The Software Defined Datacenter (SDD) integrates the software defined concepts into all of these main blocks. Transferring these concepts into workable systems requires checking several performance aspects and testing its correctness before building real systems. In this paper we introduce a novel experimental framework (SDDC) to provide a novel virtualized testbed environment for SDD systems. This work builds on the Mininet simulator, where its core components, the host, the switch and the controller, are customized to build the proposed experimental simulation framework for SDD. This simulator lets the users develop and test their own SDD solutions, and at the same time gives the researchers an experimentation tool for benchmarking purposes. The developed simulator could also be used as an educational tool to train students and novice researchers. I. I NTRODUCTION In datacenters, especially large scale datacenter which adapt the cloud computing in their work, arise the need to find a standardize way to control and manage their infrastructure. The distributed locations of the data centers and the varied infrastructure providers make the control of the datacenters a complex process. Software Defined Systems (SDSys) is a very recent paradigm, proposed to address control and management challenges known in traditional platforms by hiding their complexities from the end users. This is achieved by isolating the data plane from the control plane. SDSys technology has grown very rapidly to encompasses a number of disciplines such as Networking (SDN), Storage (SDStor), Security (SDSec), Compute (SDCompute), Datacenters (SDD), etc. A technical report for a cloud networking company named CohesiveFT [1] discusses SDD as being “defined in Software”, i.e., all the needs of the datacenters (storage, security, compute and network) are defined by the software. The efficiency, cost savings and other benefits are fully capitalized by the SDD by deploying, controlling and migrating the application to the cloud. It is important to differentiate between the software de- fined concept and another related concept which is “software deployed.” In the former concept, the APIs and software are used to control and manage the resources and devices. On the other hand, the software deployed concept means that the functionality of the service is deployed in a computer hardware object. Using a software to manage and control the resources is not a new concept. The essential difference, which was brought by software definedness, is the ability of the control layer to control all the underlying resources regardless of their vendor variations by physically isolating them from the hardware resources in the data layer [2]. The concept of abstraction in SDSys is similar to the idea of Object Oriented (OO) paradigm, where the implementation is separated from the interface representing the data layer and the control layer, respectively, in SDSys. The reason behind this separation is to simplify the modification process, so that any change in the implementation will not affect the interface and vice versa [2]. Transferring the concepts derived from SDSys into real workable system is not a simple task. Implementing new con- cepts or solutions directly in operational systems before testing them in simulated environments are considered inefficient, costly and risky; especially, when dealing with security related solutions. Though, apart from SDN, there exist no simulation environments for most SDSys, including SDStore, SDSec and SDCompute. The Mininet [3] simulator is the one of most widely used simulators by the SDN research community due to its simplicity and usability. In our previous researches [4], [5], we built experimental frameworks for SDStore and SDSec systems to allow the researchers to build their own topologies and test it across different performance aspects. The datacenter is considered a comprehensive system built from several main blocks which are the network, storage, security and compute. The same vein, the SDD is also integrate all the software defined systems of these main blocks and ingrate their functionalities. In this work, we endeavour to extend the features and func- tionalities of the Mininet simulator to enable the simulation of SDD systems. This framework is called the SDDC experimen- tal framework. Virtualization has been widely adopted across different sectors following the rapidly increasing adoption of Cloud Computing technology and services due to its advan- tages over traditional computing provision. For that, in this paper we build SDDC by integrating the SDN (Mininet), SD- Stor (SDStorage), SDSec (SDSurity) experimental frameworks plus building another software defined block (SDCompute) which takes virtualization and the computing resources into