  Heterogeneity has been an indispensable aspect of distributed computing
throughout the history of these systems. In particular, with the increasing
prevalence of accelerator technologies (e.g., GPUs and TPUs) and the emergence
of domain-specific computing via ASICs and FPGA, the matter of heterogeneity
and harnessing it has become a more critical challenge than ever before.
Harnessing system heterogeneity has been a longstanding challenge in
distributed systems and has been investigated extensively in the past. Making
use of real infrastructure (such as those offered by the public cloud
providers) for benchmarking the performance of heterogeneous machines, for
different applications, with respect to different objectives, and under various
workload intensities is cost- and time-prohibitive. To mitigate this burden, we
develop an open-source simulation tool, called E2C, that can help researchers
and practitioners study any type of heterogeneous computing system and measure
its performance under various system configurations. E2C has an intuitive
graphical user interface (GUI) that enables its users to easily examine
system-level solutions (scheduling, load balancing, scalability, etc.) in a
controlled environment within a short time and at no cost. In particular, E2C
offers the following features: (i) simulating a heterogeneous computing system;
(ii) implementing a newly developed scheduling method and plugging it into the
system, (iii) measuring energy consumption and other output-related metrics;
and (iv) powerful visual aspects to ease the learning curve for students.
Potential users of E2C can be undergraduate and graduate students in computer
science/engineering, researchers, and practitioners.
