|
@@ -227,8 +227,8 @@ int main(const int argc, const char * argv[])
|
|
|
auto start_writes = std::chrono::steady_clock::now();
|
|
|
|
|
|
#ifdef ThreeParty
|
|
|
- for(size_t w = 0; w < number_of_writes; ++w)
|
|
|
- {
|
|
|
+ for(size_t w = 0; w < number_of_writes; ++w)
|
|
|
+ {
|
|
|
DB_t FCW_read = 0;
|
|
|
|
|
|
/*The definition of read_final_correction_word appears in duoram-utils.h*/
|
|
@@ -318,22 +318,22 @@ int main(const int argc, const char * argv[])
|
|
|
#endif
|
|
|
// WRITES END.
|
|
|
|
|
|
- #ifdef ThreeParty
|
|
|
+ #ifdef ThreeParty
|
|
|
std::cout << std::endl << std::endl << "============== WRITES END ==============" << std::endl << std::endl;
|
|
|
- auto start_ind_reads = std::chrono::steady_clock::now();
|
|
|
+ auto start_ind_reads = std::chrono::steady_clock::now();
|
|
|
size_t * WritePb_ind_reads = new size_t[number_of_ind_reads];
|
|
|
size_t * WritePb_ind_reads_recv = new size_t[number_of_ind_reads];
|
|
|
size_t * rotate = new size_t[number_of_ind_reads];
|
|
|
|
|
|
|
|
|
- for(size_t r = 0; r < number_of_ind_reads; ++r) WritePb_ind_reads[r] = where_to_read_independent[r] -ri;
|
|
|
+ for(size_t r = 0; r < number_of_ind_reads; ++r) WritePb_ind_reads[r] = where_to_read_independent[r] -ri;
|
|
|
|
|
|
- boost::asio::write(sockets_2[3], boost::asio::buffer(WritePb_ind_reads, number_of_ind_reads * sizeof(size_t)));
|
|
|
- boost::asio::write(sockets_[3], boost::asio::buffer(WritePb_ind_reads, number_of_ind_reads * sizeof(size_t)));
|
|
|
- boost::asio::read(sockets_[3], boost::asio::buffer(WritePb_ind_reads_recv, number_of_ind_reads * sizeof(size_t)));
|
|
|
+ boost::asio::write(sockets_2[3], boost::asio::buffer(WritePb_ind_reads, number_of_ind_reads * sizeof(size_t)));
|
|
|
+ boost::asio::write(sockets_[3], boost::asio::buffer(WritePb_ind_reads, number_of_ind_reads * sizeof(size_t)));
|
|
|
+ boost::asio::read(sockets_[3], boost::asio::buffer(WritePb_ind_reads_recv, number_of_ind_reads * sizeof(size_t)));
|
|
|
|
|
|
DB_t * Gamma_reads = new DB_t[number_of_ind_reads];
|
|
|
- boost::asio::read(sockets_2[4], boost::asio::buffer(Gamma_reads, number_of_ind_reads * sizeof(DB_t)));
|
|
|
+ boost::asio::read(sockets_2[4], boost::asio::buffer(Gamma_reads, number_of_ind_reads * sizeof(DB_t)));
|
|
|
|
|
|
for(size_t j = 0; j < number_of_ind_reads; ++j)
|
|
|
{
|
|
@@ -355,24 +355,24 @@ int main(const int argc, const char * argv[])
|
|
|
#endif
|
|
|
}
|
|
|
|
|
|
- auto end_ind_reads = std::chrono::steady_clock::now();
|
|
|
- std::chrono::duration<double> elapsed_seconds_ind_reads = end_ind_reads - start_ind_reads;
|
|
|
- printf("elapsed_seconds_ind_reads = %f\n",elapsed_seconds_ind_reads.count());
|
|
|
+ auto end_ind_reads = std::chrono::steady_clock::now();
|
|
|
+ std::chrono::duration<double> elapsed_seconds_ind_reads = end_ind_reads - start_ind_reads;
|
|
|
+ printf("elapsed_seconds_ind_reads = %f\n",elapsed_seconds_ind_reads.count());
|
|
|
std::cout << std::endl << std::endl << "============== INDEPENDENT READS END ==============" << std::endl << std::endl;
|
|
|
auto start_dep_reads = std::chrono::steady_clock::now();
|
|
|
|
|
|
|
|
|
std::cout << std::endl << std::endl << "============== DEPENDENT READS START ==============" << std::endl << std::endl;
|
|
|
DB_t * read_out_dependent_reads = new DB_t[number_of_dep_reads];
|
|
|
- for(size_t r = 0; r < number_of_dep_reads; ++r)
|
|
|
- {
|
|
|
- read_out_dependent_reads[r] = DuoramRead(party, db_nitems, ri, where_to_read_dependent[r], sockets_2[5], sockets_2[6], sockets_[5]);
|
|
|
-
|
|
|
- #ifdef VERBOSE
|
|
|
- std::cout << "dependent read (share) " << r << " -> " << read_out_dependent_reads[r] << std::endl;
|
|
|
+
|
|
|
+ for(size_t r = 0; r < number_of_dep_reads; ++r)
|
|
|
+ {
|
|
|
+ read_out_dependent_reads[r] = DuoramRead(party, db_nitems, ri, where_to_read_dependent[r], sockets_2[5], sockets_2[6], sockets_[5]);
|
|
|
+ #ifdef VERBOSE
|
|
|
+ std::cout << "dependent read (share) " << r << " -> " << read_out_dependent_reads[r] << std::endl;
|
|
|
std::cout << print_reconstruction(sockets_[0], read_out_dependent_reads[r]) << std::endl;
|
|
|
#endif
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
auto end_dep_reads = std::chrono::steady_clock::now();
|
|
|
std::chrono::duration<double> elapsed_seconds_dep_reads = end_dep_reads - start_dep_reads;
|
|
@@ -380,11 +380,12 @@ int main(const int argc, const char * argv[])
|
|
|
std::cout << std::endl << std::endl << "============== DEPENDENT READS END ==============" << std::endl << std::endl;
|
|
|
|
|
|
|
|
|
-#endif
|
|
|
+ #endif
|
|
|
}
|
|
|
- auto end_total = std::chrono::steady_clock::now();
|
|
|
- std::chrono::duration<double> elapsed_seconds_total = end_total - start_total;
|
|
|
- printf("elapsed_seconds_total = %f\n",elapsed_seconds_total.count());
|
|
|
+
|
|
|
+auto end_total = std::chrono::steady_clock::now();
|
|
|
+std::chrono::duration<double> elapsed_seconds_total = end_total - start_total;
|
|
|
+printf("elapsed_seconds_total = %f\n",elapsed_seconds_total.count());
|
|
|
|
|
|
free(reading_temp);
|
|
|
|