DiME documentation#

Useful Links: Source Repository | Report Issues | Q&A | LTB Website | LTB Repository

CURENT Logo

DiME (Distributed Messaging Environment) is a library enabling multiple Matlab processes to share data across an operating system or over a network. This version is a rewrite of the original DiME, which suffered from severe slowdown from for large workloads. The current rewrite has many improvements upon the original, including single-threadedness, (I/O multiplexing is done via select(2)) fewer dependencies, and significantly higher throughput. DiME is compatible with MATLAB, Python, and JavaScript.

DiME is the distributed messaging module for the CURENT Largescale Testbed (LTB). More information about CURENT LTB can be found at the LTB Repository.

Getting Started

New to DiME? DiME has a few dependencies necessary to get it running, so we've prepared a quick start guide to walk you through installation. Currently there is a guide for Linux and Windows.

API Reference

The API reference contains a detailed description of the DiME package. The reference describes how the methods work and which parameters can be used for each of the MATLAB, JavaScript, and Python clients.

Examples

After setting up DiME and looking through the API, feel free to check out some of the examples to get a better understanding of DiME's capabilities. There are examples for each of the clients, showing interactions with the DiME server and the passing of variables between instances of the clients.

Using DiME for Research?

Please cite our paper [Parsly2022] if DiME is used in your research for publication.

Parsly2022

N. Parsly, J. Wang, N. West, Q. Zhang, H. Cui and F. Li, "DiME and AGVIS: A Distributed Messaging Environment and Geographical Visualizer for Large-scale Power System Simulation," in arXiv, Nov. 2022, doi: arXiv.2211.11990.