git clone --recursive https://github.com/vineyard2020/vinetalkSuite.git
(No commit permission)
git clone --recursive git@github.com:vineyard2020/vinetalkSuite.git
(Enables commits)
First build vine_talk according to this instructions vine_talk
Then build vine_controller according to this instructions vine_controller
To write an application with Vinetalk see module: vine_talk
To import bitstreams to vine_controller use the example_config located in the vine_controller. In a nutshell create the bitsteam for the FPGA and add the path to the accel field of the example_config file. For more information refer to vine_controller
Mesos-1.4 Vinetalk-1.0
This guide assumes that both mesos, vine_talk and vine_controller are installed\build
(according to the Single node deployment instructions above) in all nodes,
mesos master is up and running, variable $MESOS_MASTER contains the URL of the server,
and variable MESOS_HOME points to the installation directory of the server.
- Launch vine-controller to all agent nodes. (for instructions see module vine_controller)
- Update file conf/resourcesWithVaq.txt for each node to reflect the proper amount of
resources of each node. Note the last element is the number of VAQs of each node. 3. Start mesos agents. Use script sbin/mesos-agent-vaq.sh as a reference
This is a three-step process:
- Develop a single node solution that uses Vinetalk to execute some kernel. For instructions refer to the single node instructions, found at module Vinetalk
- Develop a Mesos executor (see folder examples)
- Develop a Mesos Framework (or use an existing one that knows how to accept vaq resources) of its executor) (see folder examples)
Folder examples contains an example on how Vinetalk enabled frameworks use VAQ resources. There is also an example that demonstrates a proper submission of a Vinetalk-based application via the REST API.
Instructions (We assume that all but the first instructions are invoked from folder examples):
- Compile kernel: from folder resources/kernels run make
- To compile an executor:
make executorName
- To compile a framework:
make frameworkName
- To run the framework found at vaq_framework.cpp:
make (YYY ?)
Mavridis, S., Pavlidakis, M., Kozanitis, Ch., Chrysos, N., Stamoulias, I., Kachris, C., Soudris, D., & Bilas, A. (2017). VineTalk: Simplifying Software Access and Sharing of FPGAs in Datacenters. 26th International Conference on Field Programmable Logic and Applications (FPL 2017), Ghent, Belgium, 4 - 8 September
This work has received funding from the European Union’s Horizon 2020 research and innovation program under grant agreement No 6876281 VINEYARD: Versatile Integrated Accelerator-based Heterogeneous Data Centers.