Explorar o código

New topic descriptions based upon work community wants to do

This file describes the topics of interest for development, their start and
finish date, their main developer, and a description of the topic.

Signed-off-by: Steven Dake <sdake@redhat.com>
Reviewed-by: Angus Salkeld <asalkeld@redhat.com>
Steven Dake %!s(int64=15) %!d(string=hai) anos
pai
achega
45d6c00bd2
Modificáronse 1 ficheiros con 145 adicións e 25 borrados
  1. 145 25
      TODO

+ 145 - 25
TODO

@@ -1,25 +1,145 @@
-The Corosync Cluster Engine Work Items Requiring Attention
-Last Updated: Mar 19, 2009
-
-Generic Items
--------------
-* doxygen-ize the include and lib directories.
-
-Totem
------
-* Disallow binding to localhost interface in redundant ring configuration.
-* Implement the totem multiring protocol.
-
-Closed Process Groups
----------------------
-* async cpg multicast.
-
-IPC
----
-* none.
-
-SYNC
-----
-* Forward compatible sync engine.
-* Advanced Synchronization Engine needed to synchronize data without
-  long blocking delays during configuration changes.
+------------------------------------------
+The Corosync Cluster Engine Topic Branches
+------------------------------------------
+
+--------------------------
+Last Updated: October 2010
+--------------------------
+
+We use topic branches in our git repository to develop new disruptive features
+that define our future roadmap.  This file describes the topic branches
+the developers have interest in investigating further.
+
+targets can be: whitetank, needle, or future (3.0+).
+Finished can be: percentage or date merged to master.
+
+------------------------------------------------------------------------------
+topic-libqb
+------------------------------------------------------------------------------
+Main Developer: Angus Salkeld
+Started: September 2010
+Finished: 60%
+target: needle
+Description:
+The libqb project is our effort to remove the core infrastructure required for
+client server operations of corosync from the corosync code base and place
+inside a separate project.
+
+The main purpose of this topic is to investigate integrating corosync with the 
+libqb package that has been refactored.  Part of this effort also involves
+investigation into single threaded operation of the IPC layer without
+peformance penalties.
+
+------------------------------------------------------------------------------
+topic-rr
+------------------------------------------------------------------------------
+Main Developer: Steven Dake
+Started: Not Started
+Finished: 0%
+target: needle
+Description:
+Redundant ring may have quality problems near boundary conditions for sequence
+numbers.  This effort involves qualifying and hardening redundant ring around
+these boundary numbers.  A further stretch goal of this topic is to
+automatically reenable a redundant ring when it has been back in service.
+
+------------------------------------------------------------------------------
+topic-snmp
+------------------------------------------------------------------------------
+Main Developer: Steven Dake
+Started: Not Started
+Finished: 0%
+target: needle
+Description:
+This topic involves investigation of adding SNMP support into Corosync.
+
+------------------------------------------------------------------------------
+topic-udpu
+------------------------------------------------------------------------------
+Main Developer: Steven Dake
+Started: October
+Finished: 80%
+target: needle
+Description:
+The UDPU transport mode offers a mechanism for Corosync to operate in network
+environments where multicast or broadcast are prohibited.  The main mechanism
+it uses to do this is to UDP unicast to each of the target node IP addresses
+listed in the configuation.
+
+------------------------------------------------------------------------------
+topic-onecrypt
+------------------------------------------------------------------------------
+Main Developer: Honza Friesse
+Started: not started
+Finished: 0%
+target: needle
+Description:
+Currently encryption code is located in totemudp.c, totemudpu.c, and iba has
+no encryption support.  This topic merges the encryption code into a new
+file such as totemcrp.c and provides a mechanism for totemnet.c to register
+encrypt and decrypt functions with totem[udp|iba|udpu] and use them as
+requested by the configuration.
+
+------------------------------------------------------------------------------
+topic-netmalloc
+------------------------------------------------------------------------------
+Main Developer: Steven Dake
+Started: not started
+Finished: 0%
+target: needle
+Description:
+The totemiba.c driver must allocate memory and assign it to a protection domain
+in order for an infiniband driver to transmit memory.  In the current
+implementation, totemsrp.c also allocates these same frames.  This results in
+an extra memcpy when transmitting with libibverbs technology.  Memory copies
+are to be avoided.  The simple solution is to have each network driver provide
+a memory allocation function.  When totemsrp wants a free frame, it requests
+it from the network driver.
+
+------------------------------------------------------------------------------
+topic-iazc
+------------------------------------------------------------------------------
+Main Developer: Steven Dake
+Started: not started
+Finished: 0%
+target: needle
+Description:
+The totempg.c file uses alloca/memcpy to deal with misaligned data structures
+to avoid bus errors on hardware which does not support unaligned access.  This
+topic addresses the totempg.c code to avoid memory copies on platforms which
+support unaligned access (x86/x86_64) and use the current alloca/memcpy
+on platforms which don't (pretty much all other processor types).
+
+------------------------------------------------------------------------------
+topic-rdmaud
+------------------------------------------------------------------------------
+Main Developer: Steven Dake
+Started: not started
+Finished: 0%
+target: needle or future
+Description:
+Currently our RDMA code uses librdmacm to setup connections.  We are not 
+certain this extra library is needed, and may be able to use only ibverbs.  If
+this is possible, the totem code may be more reliable, especially around
+failure conditions.
+
+------------------------------------------------------------------------------
+topic-zerocopy
+------------------------------------------------------------------------------
+Main Developer: Steven Dake
+Started: not started
+Finished: 0%
+target: future
+Description:
+Totem has many copies involved in messaging which we would like to investigate
+removing.  Our goal is to deliver wire speed performance for rdma networks,
+and if this can be achieved by our other topic investigations, we may not
+further investigate this topic.  The basic idea of the topic is to handle
+message assembly/fragmentation in libcpg, and have totem be responsible for
+sending these pages that are shared via posix shared memory.
+
+------------------------------------------------------------------------------
+other topics not yet defined:
+* disallow binding to localhost interfae in redundant ring configuation.
+* doxygenize include and lib directories.
+* sort out binding to localhost in general