Giter Club home page Giter Club logo

verifl's Introduction

VeriFL

Preface

This repository provides two IntelliJ IDEA projects for VeriFL. The project Client involves the Android benchmark for clients participating in VeriFL protocol. The project Server involves the benchmark of the whole VeriFL protocol (see Server/src/java/com/va/server/Main.java and Server/src/java/com/va/server/SimAggregationServer.java for detail).

Requirements

  • OS: Ubuntu 16.04 LTS
  • IDE: IntelliJ IDEA Community Edition 2019.1.3
  • GCC, G++: version 7.4.0
  • JAVA: 1.8.0_211
  • Cmake: version 3.15.3

To Benchmark VeriFL

To run the VeriFL benchmark program in Server folder, download this repository and run the following commands in shell.

cd Server/src/cpp/build
cmake .. && make
cd ../../..

The parameters required to run the benchmark are listed as follows.

Parameters Description
-logR Set the bit length of the modulus R for the quotient ring Z_R
-d Set the dimension of gradient vectors
-N Set the number of clients
-t Set the threshold of secret sharing
-batch Set the batch size in amortization verification
-maskedColl Set dropouts in the MaskedInputCollection round (e.g., 0,10,2,30 represents there are 10 dropouts in the 0-th epoch and 30 dropouts in the 2-th epoch)
-decom Set the number of clients that drop out in the Decommitting round

For example, in Server/ directory, run

java -Xmx8192m -Xms8192m -Xss8192m -jar Server.jar -logR 24 -d 10000 -N 100 -t 25 -batch 1 -maskedColl 0,0 -decom 0

Note that our simulation requires a large amount of memory and the heap size should be large enough.

verifl's People

Contributors

erwinscat avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.