Contributor

Cresco: Distributed Resource Management Framework

Edge Computing Edge Computing is the migration of computational functionality to sources of data generation. The importance of edge computing increases with the size and complexity of devices and resulting data. In addition, the coordination of global edge-to-edge communications, shared resources, high-level application scheduling, monitoring, measurement, and Quality of Service (QoS) enforcement will be critical to address the rapid growth of connected devices and associated data.

As the number of devices and resulting data rates and volumes increase the ability to manage distributed applications becomes more difficult. In addition to physical constraints related to data transmission, financial and policy or legal constraints exist in the transmission of raw data from sources of data generation. Edge computing, a form of distributed computing, is a computational paradigm that is interested in when you move computation to sources of data vs moving data to sources of computation. This form of computing has many applications in medicine, especially with privacy-preserving data collection, distributed AI training and inference, and large-scale instrumentation management in population health surveillance.

Cresco Edge Computing Framework We present a new distributed agent-based framework designed to address the challenges of edge computing. This actor-model framework implementation is designed to manage large numbers of geographically distributed services, comprised of heterogeneous resources and communication protocols, in support of low-latency real-time streaming applications. As part of this framework, an application description language was developed and implemented. Using the application description language many high-order management modules have been implemented. This includes solutions for resource and workload comparison, performance observation, scheduling, and provisioning.

Computational resources, edge applications, and resulting data flow are managed by the Cresco framework allowing end-to-end pipeline management.

Public Site: http://cresco.io

Code Source: https://github.com/CrescoEdge

CI: https://travis-ci.org/CrescoEdge

Code Analysis: https://sonarcloud.io/organizations/crescoedge/projects

SNAPSHOT/Release: https://github.com/CrescoEdge/agent/releases/tag/1.0-SNAPSHOT

Docker: https://hub.docker.com/r/crescoedgecomputing/

Demo

Run on the Demo Site (Cloud): http://demo.cresco.io

Run using Docker: docker run -it -p 8181:8181 -e CRESCO_enable_http=true crescoedgecomputing/quickstart

Run Native: Download latest 1.0-SNAPSHOT (agent-1.0-SNAPSHOT.jar) Make sure you have at least Java version 8 installed Run: “java -jar agent-1.0-SNAPSHOT.jar”

Access Dashboard (Locally Docker or Native): Point browser to http://localhost:8181/services/agents Username: “admin” Password: “cresco”

https://github.com/ResearchWorx/Cresco/