There are several simulators available that you can use for building a system model involving IoT devices, mobile edge computing (MEC) servers, and cloud infrastructure, as well as evaluating offloading algorithms and working with software-defined networking (SDN). Some popular simulators include:
ns-3 (Network Simulator 3): ns-3 is a discrete-event network simulator that can be used for the simulation of various network protocols and architectures, including IoT, MEC, and SDN. It supports a wide range of modules and has extensive documentation, making it a good choice for your project.
OMNeT++: OMNeT++ is a discrete-event, component-based simulation framework that can be used for building network simulations, including IoT and MEC systems. You can extend OMNeT++ with custom modules for specific scenarios, and there are existing modules for working with SDN (e.g., INET Framework) and IoT (e.g., SimuLTE).
iFogSim: iFogSim is a simulator specifically designed for modeling and simulating fog and edge computing environments. It can be used to evaluate resource management and scheduling policies for IoT devices, edge, and cloud resources. iFogSim is built on top of the CloudSim framework, which is a widely-used cloud computing simulation toolkit.
EdgeCloudSim: EdgeCloudSim is another simulator designed for edge computing scenarios. It extends the CloudSim framework to provide support for mobile devices, edge servers, and cloud resources, making it suitable for modeling and evaluating MEC systems.
Mininet: Mininet is a popular network emulator specifically designed for SDN simulations. It allows you to create virtual networks with various topologies and supports OpenFlow, a widely-used protocol for SDN. You can integrate Mininet with other simulation tools to simulate IoT and MEC environments.
Each of these simulators has its own set of features, and the best choice for your project depends on your specific requirements and familiarity with the tools. It may be helpful to explore the documentation and example scenarios provided by each simulator to determine which one best fits your needs.
You're welcome! Most of the simulators mentioned can indeed work with offloading algorithms or custom algorithms you write. To integrate your algorithm into the simulator, you may need to create a custom module or modify existing modules to fit your needs.
For instance, in ns-3, you can create custom application modules to implement your offloading algorithm, while in OMNeT++, you can extend existing modules or create new ones to incorporate your algorithm. In iFogSim and EdgeCloudSim, you can implement your offloading algorithm as part of the resource management and scheduling policies.
Regarding Mininet, while it is primarily focused on SDN, you can integrate it with other tools to create an environment that supports mobile edge computing. You might need to explore additional resources, such as ONOS (Open Network Operating System) or OpenDaylight, to create an SDN-based mobile edge computing environment in Mininet.
As you mentioned, exploring the documentation and example scenarios for each simulator will be helpful. Many simulators have active communities and mailing lists where you can ask for help or find resources related to your specific use case.