TODO 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. ------------------------------------------
  2. The Corosync Cluster Engine Topic Branches
  3. ------------------------------------------
  4. --------------------------
  5. Last Updated: October 2010
  6. --------------------------
  7. We use topic branches in our git repository to develop new disruptive features
  8. that define our future roadmap. This file describes the topic branches
  9. the developers have interest in investigating further.
  10. targets can be: whitetank, needle, or future (3.0+).
  11. Finished can be: percentage or date merged to master.
  12. ------------------------------------------------------------------------------
  13. topic-libqb
  14. ------------------------------------------------------------------------------
  15. Main Developer: Angus Salkeld
  16. Started: September 2010
  17. Finished: 60%
  18. target: needle
  19. Description:
  20. The libqb project is our effort to remove the core infrastructure required for
  21. client server operations of corosync from the corosync code base and place
  22. inside a separate project.
  23. The main purpose of this topic is to investigate integrating corosync with the
  24. libqb package that has been refactored. Part of this effort also involves
  25. investigation into single threaded operation of the IPC layer without
  26. peformance penalties.
  27. ------------------------------------------------------------------------------
  28. topic-rr
  29. ------------------------------------------------------------------------------
  30. Main Developer: Steven Dake
  31. Started: Not Started
  32. Finished: 0%
  33. target: needle
  34. Description:
  35. Redundant ring may have quality problems near boundary conditions for sequence
  36. numbers. This effort involves qualifying and hardening redundant ring around
  37. these boundary numbers. A further stretch goal of this topic is to
  38. automatically reenable a redundant ring when it has been back in service.
  39. ------------------------------------------------------------------------------
  40. topic-snmp
  41. ------------------------------------------------------------------------------
  42. Main Developer: Steven Dake
  43. Started: Not Started
  44. Finished: 0%
  45. target: needle
  46. Description:
  47. This topic involves investigation of adding SNMP support into Corosync.
  48. ------------------------------------------------------------------------------
  49. topic-udpu
  50. ------------------------------------------------------------------------------
  51. Main Developer: Steven Dake
  52. Started: October
  53. Finished: 80%
  54. target: needle
  55. Description:
  56. The UDPU transport mode offers a mechanism for Corosync to operate in network
  57. environments where multicast or broadcast are prohibited. The main mechanism
  58. it uses to do this is to UDP unicast to each of the target node IP addresses
  59. listed in the configuation.
  60. ------------------------------------------------------------------------------
  61. topic-onecrypt
  62. ------------------------------------------------------------------------------
  63. Main Developer: Honza Friesse
  64. Started: not started
  65. Finished: 0%
  66. target: needle
  67. Description:
  68. Currently encryption code is located in totemudp.c, totemudpu.c, and iba has
  69. no encryption support. This topic merges the encryption code into a new
  70. file such as totemcrp.c and provides a mechanism for totemnet.c to register
  71. encrypt and decrypt functions with totem[udp|iba|udpu] and use them as
  72. requested by the configuration.
  73. ------------------------------------------------------------------------------
  74. topic-netmalloc
  75. ------------------------------------------------------------------------------
  76. Main Developer: Steven Dake
  77. Started: not started
  78. Finished: 0%
  79. target: needle
  80. Description:
  81. The totemiba.c driver must allocate memory and assign it to a protection domain
  82. in order for an infiniband driver to transmit memory. In the current
  83. implementation, totemsrp.c also allocates these same frames. This results in
  84. an extra memcpy when transmitting with libibverbs technology. Memory copies
  85. are to be avoided. The simple solution is to have each network driver provide
  86. a memory allocation function. When totemsrp wants a free frame, it requests
  87. it from the network driver.
  88. ------------------------------------------------------------------------------
  89. topic-iazc
  90. ------------------------------------------------------------------------------
  91. Main Developer: Steven Dake
  92. Started: not started
  93. Finished: 0%
  94. target: needle
  95. Description:
  96. The totempg.c file uses alloca/memcpy to deal with misaligned data structures
  97. to avoid bus errors on hardware which does not support unaligned access. This
  98. topic addresses the totempg.c code to avoid memory copies on platforms which
  99. support unaligned access (x86/x86_64) and use the current alloca/memcpy
  100. on platforms which don't (pretty much all other processor types).
  101. ------------------------------------------------------------------------------
  102. topic-rdmaud
  103. ------------------------------------------------------------------------------
  104. Main Developer: Steven Dake
  105. Started: not started
  106. Finished: 0%
  107. target: needle or future
  108. Description:
  109. Currently our RDMA code uses librdmacm to setup connections. We are not
  110. certain this extra library is needed, and may be able to use only ibverbs. If
  111. this is possible, the totem code may be more reliable, especially around
  112. failure conditions.
  113. ------------------------------------------------------------------------------
  114. topic-zerocopy
  115. ------------------------------------------------------------------------------
  116. Main Developer: Steven Dake
  117. Started: not started
  118. Finished: 0%
  119. target: future
  120. Description:
  121. Totem has many copies involved in messaging which we would like to investigate
  122. removing. Our goal is to deliver wire speed performance for rdma networks,
  123. and if this can be achieved by our other topic investigations, we may not
  124. further investigate this topic. The basic idea of the topic is to handle
  125. message assembly/fragmentation in libcpg, and have totem be responsible for
  126. sending these pages that are shared via posix shared memory.
  127. ------------------------------------------------------------------------------
  128. other topics not yet defined:
  129. * disallow binding to localhost interfae in redundant ring configuation.
  130. * doxygenize include and lib directories.
  131. * sort out binding to localhost in general