Skip to content
gaoning777 edited this page Aug 2, 2016 · 13 revisions

Docker based cloud service that automates image building targeting the Xilinx Zynq processor and Analog Devices integrated radio chips (RFICs).

Architecture

This Synthesizing Cloud Service includes four modules: Web Frontend, Swarm Cluster Scheduling, Vivado Docker and Authentication Service.

  • The Web frontend provides a Restful API's for users to interact with our cloud service. It authenticates through the ldap service and requests are encrypted with HTTPS protocol. Temporary files like config file and returned tarball will be stored at Redis Database, which can be deployed at the web server or a separate server. The web frontend launch docker machines through the Swarm module with client program called docker-machine.
  • The Swarm Cluster module provides a cluster of servers to process user request and store the results in the Redis Database. Internally it creates docker containers in a cluster of virtual machines that's launched in an OpenStack cluster. Swarm pulls images from the private docker registry. In the Swarm Directory, we provide scripts in here to launch VM's to the swarm pool.
  • The Vivado Docker includes a private docker registry, docker images with vivido software installed and a license manager that distributes Xilinx licenses to docker containers in the Swarm Cluster. Here is how to set up private docker registry. Docker images are built with vivado software installed and knows where to ask for Xilinx licenses. Swarm containers are authenticated to pull vivado images from the docker registry server with apache authentication module.
  • The Authentication Service is a ldap service that provides authentication services for the Web Frontend. One can refer to openldap for instructions on how to deploy on Ubuntu system.

Deployment Instructions

Here, We talk about how to deploy the following three modules: Web Frontend, Swarm Cluster Scheduling, Vivado Docker. Authentication Service deployment like LDAP is not covered here(refer to the above link).

  1. Vivado Docker: Create vivado docker images following the instructions in [here](Vivado Docker) and push to private docker registry.

  2. Swarm Cluster Scheduling: Set up swarm cluster following the instructions in [here](Swarm Setup).

  3. Web Frontend: Launch Web Service following the instructions in [here](WebFront Service).

Clone this wiki locally