Preserving Offline Data For Future Use/Different Executions
33 views
Skip to first unread message
Doruk Gür
unread,
Feb 24, 2022, 9:02:36 AM2/24/22
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to SPDZ/SCALE-MAMBA Discussion Group
Hello everyone,
I see that online/offline phases are fully integrated in the framework and one can use the restart() functionality to load the same/different tape immediately to use previously generated offline data. But is there a way to keep the generated offline data for different executions? Say, I load a tape, and at the end of the execution do other operations outside the framework and come back; is there a way for me to use previously generated triples and bits?
To give a bit of context, I need to maintain the main logic outside SCALE-MAMBA due to a need of a dynamic container of shares, so I was planning on having black-box access to SCALE only for operations that require interaction. However running offline again for each operation seems costly for the application of the scenario (hence generating the exact required amount of data at each iteration is out of question) so I was wondering if I can modify Player.cpp in a way to use the previously generated offline data. I am also fine with restructuring everything if there is a better way of handling the main logic the way described above.
Best regards and thanks!
Nigel Smart
unread,
Feb 24, 2022, 10:34:42 AM2/24/22
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to sp...@googlegroups.com
This is exactly what restart is for.
You load a tape.
End with restart
This then puts the system into a "wait" condition
for the restart signal. During this time it can
produce more offline data [or go to sleep if it
thinks more offline data is not needed]
Then the "external" application triggers the restart
with a new tape, and off you go.
This was used in this way in a DARPA project where
we kept SCALE instances running, and just squirted
code at them as and when needed