aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorElias Summermatter <elias.summermatter@seccom.ch>2021-05-11 18:30:06 +0200
committerElias Summermatter <elias.summermatter@seccom.ch>2021-05-11 18:30:06 +0200
commita7d5c7132262c3d4994c26d22766200a155bec3e (patch)
treed66f29be82b329524c532140749e5fc374347680 /src
parenta0dd6c977d94009485698a7fecc51996c18bf628 (diff)
downloadgnunet-a7d5c7132262c3d4994c26d22766200a155bec3e.tar.gz
gnunet-a7d5c7132262c3d4994c26d22766200a155bec3e.zip
Made some changes to compare branch
Diffstat (limited to 'src')
-rw-r--r--src/setu/gnunet-service-setu.c55
-rw-r--r--src/setu/perf_setu_api.c4
2 files changed, 29 insertions, 30 deletions
diff --git a/src/setu/gnunet-service-setu.c b/src/setu/gnunet-service-setu.c
index 583ebeace..a39babd3d 100644
--- a/src/setu/gnunet-service-setu.c
+++ b/src/setu/gnunet-service-setu.c
@@ -682,6 +682,9 @@ struct perf_rtt_struct
682 struct perf_num_send_resived_msg over; 682 struct perf_num_send_resived_msg over;
683 int se_diff; 683 int se_diff;
684 int active_passive_switches; 684 int active_passive_switches;
685 int se_diff_local;
686 int se_diff_remote;
687 int mode_of_operation;
685}; 688};
686 689
687struct perf_rtt_struct perf_rtt; 690struct perf_rtt_struct perf_rtt;
@@ -726,7 +729,6 @@ sum_sent_received_bytes(int size, struct perf_num_send_resived_msg perf_rtt_stru
726static float 729static float
727calculate_perf_rtt() { 730calculate_perf_rtt() {
728 731
729 LOG(GNUNET_ERROR_TYPE_ERROR,"CALCUALATE PERFOMANCE VALUES\n");
730 /** 732 /**
731 * Calculate RTT of init phase normally always 1 733 * Calculate RTT of init phase normally always 1
732 */ 734 */
@@ -737,18 +739,17 @@ calculate_perf_rtt() {
737 * Calculate RGNUNET_SETU_AcceptMessageRT of Fullsync normaly 1 or 1.5 depending 739 * Calculate RGNUNET_SETU_AcceptMessageRT of Fullsync normaly 1 or 1.5 depending
738 */ 740 */
739 if (( perf_rtt.element_full.received != 0 ) || 741 if (( perf_rtt.element_full.received != 0 ) ||
740 ( perf_rtt.element_full.sent != 0) 742 ( perf_rtt.element_full.sent != 0)
741 ) rtt += 1; 743 ) rtt += 1;
742 744
743 if (( perf_rtt.request_full.received != 0 ) || 745 if (( perf_rtt.request_full.received != 0 ) ||
744 ( perf_rtt.request_full.sent != 0) 746 ( perf_rtt.request_full.sent != 0)
745 ) rtt += 0.5; 747 ) rtt += 0.5;
746 748
747 /** 749 /**
748 * In case of a differential sync 3 rtt's are needed. 750 * In case of a differential sync 3 rtt's are needed.
749 * for every active/passive switch additional 3.5 rtt's are used 751 * for every active/passive switch additional 3.5 rtt's are used
750 */ 752 */
751 LOG(GNUNET_ERROR_TYPE_ERROR,"ITER: %d\n", perf_rtt.active_passive_switches);
752 if (( perf_rtt.element.received != 0 ) || 753 if (( perf_rtt.element.received != 0 ) ||
753 ( perf_rtt.element.sent != 0)) { 754 ( perf_rtt.element.sent != 0)) {
754 int iterations = perf_rtt.active_passive_switches; 755 int iterations = perf_rtt.active_passive_switches;
@@ -758,26 +759,22 @@ calculate_perf_rtt() {
758 rtt += 2.5; 759 rtt += 2.5;
759 } 760 }
760 761
762
761 /** 763 /**
762 * Calculate data sended size 764 * Calculate data sended size
763 */ 765 */
764 bytes_transmitted += sum_sent_received_bytes(sizeof(GNUNET_MESSAGE_TYPE_SETU_P2P_REQUEST_FULL), perf_rtt.request_full); 766 bytes_transmitted += sum_sent_received_bytes(4, perf_rtt.request_full);
765 bytes_transmitted += sum_sent_received_bytes(sizeof(GNUNET_MESSAGE_TYPE_SETU_P2P_FULL_ELEMENT), perf_rtt.element_full);
766 bytes_transmitted += sum_sent_received_bytes(sizeof(GNUNET_MESSAGE_TYPE_SETU_P2P_ELEMENTS), perf_rtt.element);
767 bytes_transmitted += sum_sent_received_bytes(sizeof(GNUNET_MESSAGE_TYPE_SETU_P2P_OPERATION_REQUEST), perf_rtt.operation_request);
768 bytes_transmitted += sum_sent_received_bytes(sizeof(GNUNET_MESSAGE_TYPE_SETU_P2P_SE), perf_rtt.se);
769 bytes_transmitted += sum_sent_received_bytes(sizeof(GNUNET_MESSAGE_TYPE_SETU_P2P_FULL_DONE), perf_rtt.full_done);
770 bytes_transmitted += sum_sent_received_bytes(sizeof(GNUNET_MESSAGE_TYPE_SETU_P2P_IBF), perf_rtt.ibf);
771 bytes_transmitted += sum_sent_received_bytes(sizeof(GNUNET_MESSAGE_TYPE_SETU_P2P_INQUIRY), perf_rtt.inquery);
772 bytes_transmitted += sum_sent_received_bytes(sizeof(GNUNET_MESSAGE_TYPE_SETU_P2P_DEMAND), perf_rtt.demand);
773 bytes_transmitted += sum_sent_received_bytes(sizeof(GNUNET_MESSAGE_TYPE_SETU_P2P_OFFER), perf_rtt.offer);
774 bytes_transmitted += sum_sent_received_bytes(sizeof(GNUNET_MESSAGE_TYPE_SETU_P2P_DONE), perf_rtt.done);
775
776 LOG(GNUNET_ERROR_TYPE_DEBUG,"Bytes Transmitted: %d\n", bytes_transmitted);
777
778 LOG(GNUNET_ERROR_TYPE_DEBUG,"Reached tradeoff bandwidth/rtt: %f\n", (bytes_transmitted / rtt ));
779 767
780 LOG(GNUNET_ERROR_TYPE_ERROR,"Estimateded set difference: %d\n", perf_rtt.se_diff); 768 bytes_transmitted += sum_sent_received_bytes(sizeof(struct GNUNET_SETU_ElementMessage), perf_rtt.element_full);
769 bytes_transmitted += sum_sent_received_bytes(sizeof(struct GNUNET_SETU_ElementMessage), perf_rtt.element);
770 // bytes_transmitted += sum_sent_received_bytes(sizeof(GNUNET_MESSAGE_TYPE_SETU_P2P_OPERATION_REQUEST), perf_rtt.operation_request);
771 // bytes_transmitted += sum_sent_received_bytes(sizeof(GNUNET_MESSAGE_TYPE_SETU_P2P_SE), perf_rtt.se);
772 bytes_transmitted += sum_sent_received_bytes(4, perf_rtt.full_done);
773 bytes_transmitted += sum_sent_received_bytes(sizeof(struct IBFMessage), perf_rtt.ibf);
774 bytes_transmitted += sum_sent_received_bytes(sizeof(struct InquiryMessage), perf_rtt.inquery);
775 bytes_transmitted += sum_sent_received_bytes(sizeof(struct GNUNET_MessageHeader), perf_rtt.demand);
776 bytes_transmitted += sum_sent_received_bytes(sizeof(struct GNUNET_MessageHeader), perf_rtt.offer);
777 bytes_transmitted += sum_sent_received_bytes(4, perf_rtt.done);
781 778
782 779
783 780
@@ -793,12 +790,11 @@ calculate_perf_rtt() {
793 int decoded = 0; 790 int decoded = 0;
794 if(perf_rtt.active_passive_switches == 0) 791 if(perf_rtt.active_passive_switches == 0)
795 decoded = 1; 792 decoded = 1;
796 LOG(GNUNET_ERROR_TYPE_ERROR,"decoded=%d, msg_sent=%d, msg_recv=%d, byte_sent=%d, bytes_recv=%d \n", decoded, perf_rtt.ibf.sent, perf_rtt.ibf.received, perf_rtt.ibf.sent_var_bytes, perf_rtt.ibf.received_var_bytes); 793 int ibf_bytes_transmitted = sum_sent_received_bytes(sizeof(struct IBFMessage), perf_rtt.ibf);
797 int ibf_bytes_transmitted = sum_sent_received_bytes(sizeof(GNUNET_MESSAGE_TYPE_SETU_P2P_IBF), perf_rtt.ibf);
798 794
799 795
800 FILE *out1 = fopen("perf_failure_bucket_number_factor.csv", "a"); 796 FILE *out1 = fopen("perf_failure_bucket_number_factor.csv", "a");
801 fprintf(out1, "%d,%f,%d,%d,%f,%d\n",num_per_bucket,factor,decoded,ibf_bytes_transmitted,rtt,perf_rtt.se_diff); 797 fprintf(out1, "%d,%f,%d,%d,%f,%d,%d,%d,%d,%d\n",num_per_bucket,factor,decoded,ibf_bytes_transmitted,rtt,perf_rtt.se_diff,bytes_transmitted,perf_rtt.se_diff_local,perf_rtt.se_diff_remote, perf_rtt.mode_of_operation);
802 fclose(out1); 798 fclose(out1);
803 799
804 800
@@ -807,9 +803,9 @@ calculate_perf_rtt() {
807 * <se_diff>,<active_passive_switches>,<bytes_transmitted>,<rtt> 803 * <se_diff>,<active_passive_switches>,<bytes_transmitted>,<rtt>
808 */ 804 */
809 805
810 FILE *out = fopen("perf_stats.csv", "a"); 806 // FILE *out = fopen("perf_stats.csv", "a");
811 fprintf(out, "%d,%d,%d,%f\n", perf_rtt.se_diff, perf_rtt.active_passive_switches,bytes_transmitted,rtt); 807 // fprintf(out, "%d,%d,%d,%f\n", perf_rtt.se_diff, perf_rtt.active_passive_switches,bytes_transmitted,rtt);
812 fclose(out); 808 //fclose(out);
813 809
814 return rtt; 810 return rtt;
815} 811}
@@ -1658,12 +1654,14 @@ handle_union_p2p_strata_estimator (void *cls,
1658 if ((op->initial_size <= other_size) || 1654 if ((op->initial_size <= other_size) ||
1659 (0 == other_size)) 1655 (0 == other_size))
1660 { 1656 {
1657 perf_rtt.mode_of_operation = 1;
1661 send_full_set (op); 1658 send_full_set (op);
1662 } 1659 }
1663 else 1660 else
1664 { 1661 {
1665 struct GNUNET_MQ_Envelope *ev; 1662 struct GNUNET_MQ_Envelope *ev;
1666 1663
1664 perf_rtt.mode_of_operation = 2;
1667 LOG (GNUNET_ERROR_TYPE_DEBUG, 1665 LOG (GNUNET_ERROR_TYPE_DEBUG,
1668 "Telling other peer that we expect its full set\n"); 1666 "Telling other peer that we expect its full set\n");
1669 op->phase = PHASE_FULL_RECEIVING; 1667 op->phase = PHASE_FULL_RECEIVING;
@@ -1680,6 +1678,7 @@ handle_union_p2p_strata_estimator (void *cls,
1680 "# of ibf sends", 1678 "# of ibf sends",
1681 1, 1679 1,
1682 GNUNET_NO); 1680 GNUNET_NO);
1681 perf_rtt.mode_of_operation = 0;
1683 if (GNUNET_OK != 1682 if (GNUNET_OK !=
1684 send_ibf (op, 1683 send_ibf (op,
1685 get_order_from_difference (diff, op->ibf_number_buckets_per_element, op->ibf_bucket_number_factor))) 1684 get_order_from_difference (diff, op->ibf_number_buckets_per_element, op->ibf_bucket_number_factor)))
diff --git a/src/setu/perf_setu_api.c b/src/setu/perf_setu_api.c
index 00cf96b85..3d8faebbe 100644
--- a/src/setu/perf_setu_api.c
+++ b/src/setu/perf_setu_api.c
@@ -449,7 +449,7 @@ static void execute_perf() {
449 449
450 for (int out_out_ctr = 4; out_out_ctr <= 4; out_out_ctr++) { 450 for (int out_out_ctr = 4; out_out_ctr <= 4; out_out_ctr++) {
451 451
452 for (int out_ctr = 1; out_ctr <= 100; out_ctr++) { 452 for (int out_ctr = 40; out_ctr <= 40; out_ctr++) {
453 453
454 float base = 0.1; 454 float base = 0.1;
455 float x = out_ctr * base; 455 float x = out_ctr * base;
@@ -461,7 +461,7 @@ static void execute_perf() {
461 GNUNET_CONFIGURATION_set_value_number(setu_cfg, "IBF", "NUMBER_PER_BUCKET", out_out_ctr); // K default=4 461 GNUNET_CONFIGURATION_set_value_number(setu_cfg, "IBF", "NUMBER_PER_BUCKET", out_out_ctr); // K default=4
462 GNUNET_CONFIGURATION_set_value_string(setu_cfg, "PERFORMANCE", "TRADEOFF", "0.25"); 462 GNUNET_CONFIGURATION_set_value_string(setu_cfg, "PERFORMANCE", "TRADEOFF", "0.25");
463 GNUNET_CONFIGURATION_set_value_string(setu_cfg, "PERFORMANCE", "MAX_SET_DIFF_FACTOR_DIFFERENTIAL", 463 GNUNET_CONFIGURATION_set_value_string(setu_cfg, "PERFORMANCE", "MAX_SET_DIFF_FACTOR_DIFFERENTIAL",
464 "20000");//default=0.25 464 "0.25");//default=0.25
465 465
466 466
467 if (GNUNET_OK != GNUNET_CONFIGURATION_write(setu_cfg, "/tmp/perf_setu.conf")) 467 if (GNUNET_OK != GNUNET_CONFIGURATION_write(setu_cfg, "/tmp/perf_setu.conf"))