Preinstalled Virtual Machines
To allow you to get familiar with the Sharemind Application Server, we have put together a virtual machine bundle, including most of the Sharemind MPC platform components. These include:
Runtime
-
Sharemind Application Server with the Encrypted Computing Engine for running secure multi-party programs
-
SecreC compiler
-
Sharemind Web Gateway for deploying web-based MPC applications
-
HDF5 table-based persistent storage back-end
-
Redis adapter for key-value based persistent storage back-end
-
Rmind statistical analysis tool (command-line version) with its statistical analysis back-end called Analytics Engine (with demo)
-
CSV Importer for importing CSV datasets into Sharemind (command-line version)
Development
-
SecreC standard library and reference
-
SecreC example applications showing profiling and usage of persistent storage
-
JavaScript client API for building web-based MPC client applications (with example code)
-
C++ client API for building stand-alone desktop client applications (with example code)
-
Qt Creator IDE with Sharemind SDK plug-in for basic SecreC language syntax highlighting
These components are not included in the virtual machine and are available on request:
-
Web UI for Rmind and CSV Importer
-
SecreC source code for the Sharemind Analytics Engine
-
Java and Haskell client API for building client applications
Getting Started
Sharemind MPC virtual machine bundle is available as a virtual machine image (OVA format) from the Downloads section and can be imported by many virtualization platforms, e.g. VirtualBox or VMware.
Once started, most of the demos are available from ~/Sharemind-SDK
,
also linked to desktop as "Demos". Most of the demos in
~/Sharemind-SDK
contain README
files with instructions on how to use
them and their prerequisites, e.g. compiling their server-side SecreC
code. The configuration files for the three server instances are
available at ~/Sharemind-SDK/sharemind
.
Each Sharemind Application Server (sharemind-server
binary) requires a
valid license file to start (the license.p7b
file). As this file is
client-specific and updated separately, it is not included in the
bundle, but delivered separately, e.g. via e-mail. This file must be
copied into each Sharemind Application Server’s configuration directory
at ~/Sharemind-SDK/sharemind/server{1,2,3}
. The simplest way to copy
that is by setting up a shared folder with the virtual machine or
downloading the license file from your e-mail account on the virtual
machine itself.
Sharemind Application Server can be started from command-line with
sm_start_servers.sh
or from the Tools → External → Sharemind SDK →
Start servers menu in Qt Creator. Both of these options start all three
server instances in parallel in separate terminal windows.
We encourage you to go through the bundled demos. As mentioned, they
have some comments in their README
files, but please ask if anything
remains unclear.
Next Steps
This virtual machine has all three Sharemind Application Server instances running locally on a single machine. Therefore, this virtual machine is meant mainly for testing and development and not performance benchmarking.
For production deployment of Sharemind MPC, we advise you to use Linux distribution specific packages, where available.