Conti Ransomware malware leak WITH LOCKER
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

224 lines
13 KiB

  1. ���������� ����������
  2. ������� ����
  3. ���� ��������� - ���� ����� �� �������� ����������� � ������� ���������� ��� ������������� �� ��/�++.
  4. ��� ����� �� ���������� ���������� ����������� ���������������� � �������� ��� ����������� � ������� ����������.
  5. ����������� ������������ ����������
  6. � ���� ���� ������ - ����� ���: https://agner.org
  7. �� �������� ������������� ������, ����� ������������� ����, ���������������� Intel � SIMD-����������� �������� � ��� ����� ����:
  8. https://www.agner.org/optimize/
  9. �������������� ���������������
  10. � �������������� ���������������� ������ ������� ������������ �������������� �����.
  11. ������������� � ������������ ��� ������� ��������� ����, ���� ���� ������������ ���������, ���� ������� ����������� ����, � ��� ���� ����� �����������.
  12. ��� ���� ����������� ������� ���������������� ��� �� ����� � ��������� ��� �����������.
  13. To be done
  14. ������� ������
  15. ������ ������ - ��� ������ �������� ������������� ���������� ���������� ����������� �/��� ������������.
  16. ������������ ���������� ���� ������������. ��� ���� ������ ����������� � ��� �������, � ������� �� ������� (�� ����� ���� ���).
  17. �������� ��� �� ���������� ���� (!) ���� � ������ ������� ����� ����������� ���� �� �� �������, ���� ������ ������������
  18. � ������ ������ � ���� �� ����, ��������� ��������� ������������ �������������� ����� ����������.
  19. ������ ������ �� (� ������ �����������) ���������� ��������� ��� ���, ��� �� ������� �� ������ (��������������� � ������������),
  20. � �� ��� ��� ����� ��������� � ������������ (� �����-�����������, �� ����� ����������� �������).
  21. �� ����, �����������, ��� ��� �� ������� ������ ���������� �������� ���� ���������, � ������� ���������� ���������� �������.
  22. ������ ������ �������� ������������ ����������� (�.�. ������������ � ������� ������ ����������).
  23. ������ ������ �������� ������ "����� ����� ������� ���� ������� �����", �� �������������.
  24. � C++ ���� ��� ������ ������ ��� ��������:
  25. 1. relaxed: ������������� ������ ��, ��� �������� ����� ��������� ��������. � ����� ������� - ������.
  26. - ����������� ���������� "��������" � ������ ������ �� �����
  27. - ����� thread2 "������" �������� ����� � ��� �� ���������� � ��� �� �������, � ������� ����������� �� ����������� � ������ thread1
  28. - ������� ����������� ������ ���������� � ������ thread1 �� ���������� � ������ thread2
  29. relaxed-���������� ����� ������������ ��� �������� ��� ����� ���������.
  30. ����� ������� � ����� ���������� ������ ������.
  31. ������ �� �������������� ������ ���� - READ UNCOMMITTED
  32. 2. sequential consistency, seq_cst: ��������� ������ ���������������� ����� ����� �������� ���������.
  33. - ������� ����������� ������ ��������� ���������� � ������ thread1 ���������� � ������ thread2
  34. - ��� ������ ����� ������ ���� � ��� �� ������� ����������� ���� ��������� ����������.
  35. ���� ����������� ����� ����������� � ������ �������
  36. - ��� ����������� ������ (�� ������ ����������� ��� ���������) � ������ thread1, ����������� store �� ��������� ����������,
  37. ����� ����� ����� ���������� load ���� �� ���������� � ������ thread2
  38. ����� ��������� � ����� �������� ������ ������.
  39. ������ �� �������������� ������ ���� - SERIALIZED
  40. 3. acquire/release: ������������� ����.
  41. - ����������� ��������� ���������� � release ����� ��������� ����� � ������ ������, ����������� ������ ���� �� ��������� ���������� � acquire
  42. - ��� ����������� ������ � ������ thread1, ����������� ������ ��������� ���������� � release,
  43. ����� ����� ����� ���������� ������ ��� �� ���������� � acquire � ������ thread2
  44. - ��������� � ���������� �� ����� ��������� �������� ������ � ������ ���� release �������� � ������ thread1,
  45. � ������ ���������� ���� �������� ������ �� ������ ���� acquire �������� � ������ thread2
  46. ��������� ������ ������������� ������ ����� ����� �������� (� ������� �� ���� ������� � 1 � 2).
  47. https://habr.com/ru/post/517918/
  48. https://gcc.gnu.org/wiki/Atomic/GCCMM/AtomicSync
  49. https://habr.com/ru/company/JetBrains-education/blog/523298/
  50. https://habr.com/ru/post/545996/
  51. https://habr.com/ru/post/546222/
  52. https://habr.com/ru/post/546880/
  53. https://elixir.bootlin.com/linux/latest/source/Documentation/memory-barriers.txt
  54. ����� ������� � ������������� ���������
  55. ������ ������ ������� �� ����������� x86/x64 - ���� ��������.
  56. �� ��������� ����������� � ������������� �������� ����� ������� �����, � �� x64 ������: ��������� ����� �����������.
  57. ���� � ��� �� ��� ����� ����������� ������ ����� ��-�� ������� ��������� ����� �������, ��� (�����) ������������ ����� ��������� �� �������.
  58. ����������� ����������� ��-��:
  59. - ������������� ���������� ����������
  60. - �������������� ����������� (�������, ������� ��������, ��������� ���� � ������ ������������)
  61. - ��������� ������� ��� ����������, ��� � ��������� ������ ������� (����)
  62. ��� ������������ ���������� ���������� ����� ����������� �����������, ����� ������������ ������ ��������������,
  63. ������ ������ ��������� ������ �������������.
  64. �� � ��������, �� �������� � �� ������ ����������, � �������������� ������ ��������� � ���� ���� ���� �� �����,
  65. ��� ��������� �����.
  66. ������, �������� �� �������� ��������, ��� ����� ��������� ������� �64 ��� ���� :)
  67. ����� �������� � ������������: ����� ����� ���������� �����, ������� ����� ���������� ��������, ������ ����� � ������.
  68. � �++ ���� chrono::high_resolution_timer. �� �� ������ ������������, ������ �� � ����������� ��� �������� ������ �� ��� �������.
  69. ����� ������ �������� � ����� �� Linux / Intel(R) Core(TM) i5-4690K CPU @ 3.50GHz / gcc 8.4, � ��������� � 30 ����������.
  70. �� Intel Core i5 480M @ 2.67GHz / Windows 7 / MSVC 2017 �������� ������� 4000 ����������.
  71. �� Intel Atom x7-Z8750 @ 1.6GHz / Windows 10 / MSVC 2017 �������� 320 ����������.
  72. �� x64 ������ ������� ����� ������ � ������� Timestamp Counter (TSC) - ���������� �� ���� ���������� �64 �������� MSR.
  73. �� ��������� ����������, � ��� ���������� ����� ������ ������� ������������� ������� � ������� ������ ����������.
  74. ��� ������ ��������� � �������������� ����������� ����� ����� �������� ����������.
  75. �������� ������������� ������� ������� ����� ��������� �� ������� ����� constant_tsc � /proc/cpuinfo.
  76. ������ ������� ����������� ������������ RDTSC/RDTSCP, ��� � ���� ������� ����� ���� � ������.
  77. ������ ������� ���� �� ���� ������ �� ����������: ������ ��������� ��������, �������� ��������� ������������� ����������,
  78. ������ �� ��� (���� �� ����-�� �������� ��������� ������).
  79. �������� ������� ���������:
  80. 1. ��������� ���� ���������� RDTSC � ������ ��� �������* ��������:
  81. - ��������� ������� ������ �� ���� ����������, ��������� ������� ����� ������ �� ����������
  82. 2. �������� (�����������**) ������� ������� �������:
  83. - �������� ��������� ���, ������� ������ ��������� �� ���� �������***
  84. 3. ���������� ���� � ������������ ������ �����, �� ��������� ������ �� 1 � 2.
  85. 4. ���������� ���������� ������� ������������ RDTSC, �������� ���� ����� RDTSC
  86. 5. �������������� ������������ ������.
  87. * ��� ��������� ��������, ���� RDTSC ����� ������� - ��-�� ��������� ������� ����������, ��������� ��������.
  88. ** ������ � ������������� ��������� ������� ������� ���������� ������, ��� ��-�� ������� ������ ������ ����� ��������
  89. �� ������ �����������, ��� � ��-�� ������� � ����������� �������� ������ � ��������.
  90. https://stackoverflow.com/questions/42189976/calculate-system-time-using-rdtsc
  91. ������ �� ��� ������� ����, ������ � ��������, �� �������� ���������� �������������� ��������.
  92. *** � ��� �� ���������� �� ���������� ������� sleep � ��/�����������, ���������� �������� �����.
  93. ������������� �������:
  94. - ������� �������� ������� �������� ������������ ���������� ���� RDTSC ������:
  95. ���������� ����������� ������� ���� �������������, � ���������� �������� ��������� ������ ����� ������ ����.
  96. �� ����, �� ����� ���� ���� ��� ���������� �� ������� �����, � �������� ������ ��������.
  97. - ������� �������� - ��� ������������ ��������� � ��������, ���� ������ ����� ���������� ���� ����� �������.
  98. ����� ���� ��� ����� ���� �������� ������� ����� ������ - ��� ��������� � ���� �����,
  99. ��� � ���������� �������� ����� ������ (�������� �� ������������ ���).
  100. - ������� �������� - �������� �������� ������ �� ���� ��� �������� � ����
  101. - ��������� �������� �����-����� ������������� ������.
  102. ��� �����, �������� ������������.
  103. ������� ��� �� ���� �������� ������ ��������, �� ��� ��� ����� �������� ���� �� ������������ ��������������
  104. ���������� ����, � ��������� ������������� ������������ ������.
  105. � ����������� x86 ���� ���������� ���� �������� �� ������������������� � Performance Monitoring Unit (PMU),
  106. ����� ������� ���� ����������� �� ������� ������� (������� Coreclock register)
  107. ������ ��������� ������� � ������������� ��
  108. ��������� ���� �����������. ����� ������������ ��������� ������ �������� � ����������; ���� ���� �������� ����� ���� ����������.
  109. � MS DOS �������� ������������� ������ �� �����������; � RT-11 ��� ��� ���������� ������������ �����-������.
  110. � ����������� ���� ���������� �������, ��������� �������������.
  111. ��� ��� �������� �������, ������� ����� ��������� ����.
  112. ������� ��������� � ���� ��������������� �������� �� ��������������.
  113. �������� realtime-���� ��� Linux, �� ������������� �������� ��������������� ������������, ������� ����� ������������ ���������
  114. � ��������� �������� � ������ �������� ��. ��� �������� ��� ������ ����� �������������� ��������.
  115. �������� ��� ������� ������������ ��������� ��� ��������� ����������: https://habr.com/ru/post/562636/
  116. ����� ����������� ������ ������ � ������ �������� ���� �� �������� Linux - �������� ��������� ���� ������� �� (thread affinity).
  117. ��� ��������� ���������� � ��������� �������� ��� ���� ��������� �� ������ ����.
  118. ��� ����������� ���� ����������� ������������ ��������� ��� ��������� �� (����� ��������� ������������ ����������).
  119. https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux_for_real_time/8/html/tuning_guide/chap-general_system_tuning
  120. ���������� ����
  121. ��� ���������� ����������� (����������� ������� �������) ����������� ����� ��� ��� Kernel Bypass:
  122. ��������� �������� ������ ����� ����, � userland. � ��������� ����� ����������� � ������� ������ SolarFlare (�� ������ OnLoading).
  123. ���� ���� TCP/IP ����������� � ����������, ���������� � ������ ������������.
  124. ���������� �� ������ ���������� ����, � ��� �������������� � ����; �� �� ����������� ������ � ���� ����������� ������� ������ (iptables) � ��� ��������.
  125. ��� ��������� ������ ������������ ��������� kernel/user, ������������� ���������� (������� �������� ����� ���� �������� ��� ������ �������� ���-�� ���),
  126. ����������� �������, ����������� ���������� ���������������� ������� ������������� ����������� � ����, ���.
  127. ��� ������ ����������� � ������������ ����� �� (��.����) �� ���������� ����.
  128. � ���������� ����������� ������������ �������� � ������� ����������.
  129. ��� ������������ ��� �������� ��� ������� ������.
  130. Bonding �������.
  131. ��� ���������� ���������� ����������� ������������ RDMA - ��������� ������ ������ � ������ (������ ������ � ����).
  132. ��� ���� ����������� � ������ ���������� ���������� ��������������� � ����������� ��������� ������ ������� �����,
  133. ����� ��������� ����������� �����������, ����� �� ��� ������� (�� ���� ��� ��������� ����������).
  134. ������ ����������� ����� ���������� ��������, �� �������� ���������� ��� ������ ��� �������� ����������� ������ ������ (��������, � ������������������ ����).
  135. ������ ������ - Infiniband, ���������� libibverbs.
  136. ����������� � interlinked-���������, ���������� ����.
  137. ����� ����� ���������� ����� - ����� �� ����������� ������� (zero copy).
  138. �� ����������� ������ ����� ����������� ������ *���* ��������� ���������� ����������� �����.
  139. �� 100�� ������ ���������� ����.
  140. ������ ��� ������� � ����������� � ������� ������ ������������� ��������������� � ����������/�������� �������.
  141. ������� ����������� (SHADOW BUFFERING/DOUBLE BUFFERING)
  142. ��� ���������� ������� ���������� ����������� �������� ������ (� ����, ��� ������ �� ����) ������������ ������� �����������:
  143. - ���������� ��������� �������, ������ ���� �� ��� ������� (����� � ��������) � ���� ������ �������
  144. - ���������� ������ ����������� ������� � ��������� �������
  145. - �� ��������� ������ ��� �������� ���������� ������
  146. - �� ���������� �������� �� ��������� ������, �� ���������� ��� ����������; ���������� ��������� ������� � ������ �����.
  147. ��� ������� ������ ���� ���������� ������.
  148. ������
  149. ���������� � ��������� ������ ��� �����������
  150. https://habr.com/ru/post/523654/
  151. ����������� �������������� ���������� � ����� -ffast-math � GCC 11
  152. https://habr.com/ru/company/ruvds/blog/586386/
  153. ������� ������� double
  154. https://habr.com/ru/company/ruvds/blog/542640/
  155. https://github.com/fastfloat/fast_float
  156. ������� ��������� UTF8
  157. https://habr.com/ru/company/ruvds/blog/551060/
  158. https://arxiv.org/pdf/2010.03090.pdf
  159. ASM today
  160. https://habr.com/ru/post/544786/
  161. ��������� ����� ��� ������� �� ������
  162. https://habr.com/ru/company/otus/blog/557310/
  163. epoll � Windows IO Completion Ports: ������������ �������
  164. https://habr.com/ru/company/infopulse/blog/415403/
  165. ����� ������ � ������������� ���������? ��������� �� x86 � M1
  166. https://habr.com/ru/company/selectel/blog/557410/
  167. ������
  168. 1. Agner Fog, Optimization manuals https://www.agner.org/optimize/
  169. 2. ��������� �������� � ������ �� https://habr.com/ru/company/otus/blog/343566/
  170. 3. select / poll / epoll: ������������ ������� https://habr.com/ru/company/infopulse/blog/415259/
  171. 4. Evaluating the Cost of Atomic Operations onModern Architectures https://spcl.inf.ethz.ch/Publications/.pdf/atomic-bench.pdf
  172. 5. Intel Intrinsics Guide https://software.intel.com/sites/landingpage/IntrinsicsGuide/
  173. 6. Neon Intrinsics Reference https://developer.arm.com/architectures/instruction-sets/simd-isas/neon/intrinsics
  174. ������
  175. �����
  176. https://easyperf.net/notes/
  177. http://scrutator.me/