Date: 2005-02-15T10:36:24
   Editor: EmmanuelLecharny
   Wiki: Apache Directory Project Wiki
   Page: Asn1Home
   URL: http://wiki.apache.org/directory/Asn1Home

   no comment

Change Log:

------------------------------------------------------------------------------
@@ -6,7 +6,7 @@
 
 Communications between clients and server can be seen as a two ways / multi 
''layers'' system. The client submit a request to the server, which reply.
 
-''Layers'' are just used to facilitate the implementation of this 
communication. From the developper point of view, working on a specific level, 
he just has to know the two layers above and under.
+''Layers'' are just used to facilitate the implementation of this 
communication. From the developer point of view, working on a specific level, 
he just has to know the two layers above and under.
 
 {{{
 
@@ -31,7 +31,7 @@
      +----------------+
 }}}
 
-It allows many differents implementations, as of :
+It allows many different implementations, as of :
  * smart stubs, that are able to generate directs IO;
  * dumb stubs, that communicate with dumb Tuples, ...;
  * semi-smart Stubs, that communicate with TLVs, avoiding the Tuples layer
@@ -44,7 +44,7 @@
 
 Inter layer communication rely on a pipe-line : each layer push some piece of 
information to the net layer (up or down), which will do the same.
 
-Each layer may implement its own strategy to fullfill the reception and 
transmission of this data :
+Each layer may implement its own strategy to fulfill the reception and 
transmission of this data :
  * emission
   * asynchronous push
   * synchronous push
@@ -63,7 +63,7 @@
 A client create an ''instance'' of a stub to communicate with the server, 
which create an other one to reply. They implement a kind of ''application 
layer'' between clients and server.
 
 
-Idealy, they are generated by an '''ASN.1''' compiler, but can be hand crafted.
+Ideally, they are generated by an '''ASN.1''' compiler, but can be hand 
crafted.
 
 === Tuples ===
 
@@ -83,19 +83,19 @@
 
 === Performance ===
 TODO : performance against memory/scalability/failover
-TODO : which kind of performance shoul we deliver? Maximum throughput = 
bandwith/average PDU size. For instance, with a 1Gb network connection, 
assuming that we have an average PDU size of 100 bytes, the system should 
deliver 1 M Pdu/s, not to mention TCP/IP overloading (typically, a TCP/IP 
packet size is 1500 bytes, so the previous number is to be divided by 15 : 66 
000 PDU/s)
+TODO : which kind of performance should we deliver? Maximum throughput = 
bandwith/average PDU size. For instance, with a 1Gb network connection, 
assuming that we have an average PDU size of 100 bytes, the system should 
deliver 1 M Pdu/s, not to mention TCP/IP overloading (typically, a TCP/IP 
packet size is 1500 bytes, so the previous number is to be divided by 15 : 66 
000 PDU/s)
 
 So, ideally, treating a PDU in 15 ns might be enough.
 
 === Memory consumption ===
 
-Memory is limited by the '''JVM''' parametrization. the '''CODEC''' system 
should never cause a memory allocation. Clients side is not a problem, but 
server side is. We '''must''' build a mechanism that works with a determinated 
amount of memory. In case of memory lack, the system '''may''' discards some 
entering requests, or discard greedy requests, or flush to the disk those 
greedy request for a post-poned treatment.
+Memory is limited by the '''JVM''' parametrization. the '''CODEC''' system 
should never cause a memory allocation. Clients side is not a problem, but 
server side is. We '''must''' build a mechanism that works with a fixed amount 
of memory. In case of memory lack, the system '''may''' discards some entering 
requests, or discard greedy requests, or flush to the disk those greedy request 
for a post-poned treatment.
 
-This mechanism '''should''' be ligh, to obtain an acceptable level of 
performance.
+This mechanism '''should''' be light, to obtain an acceptable level of 
performance.
 
 A possible mechanism could be to allocate some instances, and associates them 
to a thread, which will be in charge of the codec processing.
 
-A server will contains a limied number of codec threads, each one with its 
codec instances pool (no synchronisation)
+A server will contains a limited number of codec threads, each one with its 
codec instances pool (no synchronisation)
 
 A global pool of instance could be allocated on initialization, depending on 
the global memory. each thread will ask for an instance and will keep it in its 
own pool.
 

Reply via email to