Abstract:
© 2020 The growth in the data and computation need of today's operations has led to technical solutions that distribute workload over several entities for better performance. To facilitate such a paradigm, research studies have been investigating efficient approaches for combining high performance computing in shared-memory with distributed-memory environments. Meanwhile, the benefits of cloud computing and its modern enhancements have created potentials for applications to leverage the powerful, ubiquitous and cheap resources of cloud infrastructures. Yet, a small portion of the work in this area addresses the programming aspects of cloud-related technologies. Despite the extensive improvements in the fundamental mechanisms of this realm, programming environments offer little support for incorporating the high performance mechanisms of shared-memory computing with cloud computing. This study proposes a solution for an unobtrusive definition and integration of cloud-based and shared-memory parallel computing, in order to further simplify the application of cloud capabilities in local systems. It does so by implementing the proposed concepts in @PT (Annotation Parallel Task), a parallel-programming environment that utilizes native Java annotations as its language constructs. The experimental evaluations discussed here demonstrate that the proposed approach facilitates achieving the potential benefits of cloud computing for performance and energy consumption in local devices.