Просмотр исходного кода

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 15 лет назад
Родитель
Сommit
45d6c00bd2
1 измененных файлов с 145 добавлено и 25 удалено
  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